建造模式
(1)模式的组成
角色 | 含义 |
---|---|
抽象建造角色 | 用来规范产品对象的各个组成成分的建造。一般而言,此角色独立于应用程序的业务逻辑。 |
具体建造角色 | 这个角色在实现抽象建造者角色提供的方法的前提下,达到完成产品建造,提供成品的功能。 |
抽象组装角色(可有可无) | 用来规范产品对象的各个组成成分的组装。 |
具体组装角色(可有可无) | 这个角色在实现抽象组装者角色提供的方法的前提下,达到完成产品组装,提供成品的功能。 |
产品角色 | 建造中的复杂对象。它要包含那些定义组件的类,包括将这些组件装配成产品的接口。 |
(2)特点
建造模式可以使得产品内部的表象独立变化。在原来的工厂方法模式中,产品内部的表象是由产品自身来决定的;而在建造模式中则是“外部化”为由建造者来负责。这样定义一个新的具体建造者角色就可以改变产品的内部表象,符合“开闭原则”。
建造模式使得客户不需要知道太多产品内部的细节。它将复杂对象的组建和表示方式封 装在一个具体的建造角色中,而且由指导者来协调建造者角色来得到具体的产品实例。