Aha!设计模式(12)-BUILDER(3)

2019-04-13 13:56发布

适用性   在以下情况使用Builder模式
• 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
• 当构造过程必须允许被构造的对象有不同的表示时。
  一般来讲,创造一个复杂对象的处理总是可以拆分成算法(或步骤)的部分和实际生成构件的部分。无论我们希望独立算法还是替换表现,所做的都是一件事,把算法和生成构件拆分开,这就是Builder模式。   简单说就是,想变什么就拆什么。将算法和生成构件的过程拆开的结果就是两头都可以变。   结构     作者观点   相对于Client,Director的叫法更加强调了指挥的含义。换句话说,Builder只能做些具体的事情,到底怎么做是由Director决定的。   每个设计模式的类图都有核心的部分,这个类图的核心包括Builder和ConcreteBuilder。因为一旦Builder的角 {MOD}决定了,就一定会存在一个指挥Builder工作的角 {MOD},无论它是否叫Director。   注:   本文中蓝 {MOD}粗体文字都引自《设计模式》一书。   觉得本文有帮助?请分享给更多人。 阅读更多更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】