高级软件工程之设计模式资料.ppt

* * * * * * * * * * * * * * * * * * * * * * * * * * * 谁来选择使用哪种策略? * * * * * * * * * * * * * * * * * 解答 8、建造者(Builder)模式 当系统准备为用户提供一个内部结构复杂的对象时,就可以使用建造者模式,使用该模式可以逐步地构造对象,使得对象的创建更具弹性。建造者模式的关键是将一个包含有多个组件对象的创建分成若干个步骤,并将这些步骤封装在一个称作建造者的接口中。 * 建造者(Builder)模式的由来 在软件系统中,有时面临着“一个复杂对象”的创建工作,该复杂对象通常由各个部分的子对象用一定的算法构成 这个复杂对象的各个部分经常面临着剧烈变化,但是将它们组合在一起的算法却相对稳定 如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变? 建造者模式的意图和适用性 意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示 适用性场合 需要生成的产品对象有复杂的内部结构 创建复杂对象的算法稳定,或建造者模式可以强迫生成一定的顺序 当构造过程允许被构造的对象有不同的表示时 建造者模式的结构 建造者模式的参与者 Builder:为创建一个Product对象的各个部件指定抽象接口 Concret

文档评论(0)

1亿VIP精品文档

相关文档