设计模式(十一):建造者模式
定义:
·将复杂对象的创建与表示分开,使得相同的创建过程可以有不同的表示。用户只需制定需要建造的类型,不需要知道建造的过程和细节。
主要解决:
·主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;
·由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。
如何解决:
·将变与不变分离开。
·创建建造者,创建和提供实例。创建导演,管理建造出来的实例的依赖关系。
何时使用:
1、需要生成的对象具有复杂的内部结构
2、需要生成的对象内部属性本身相互依赖。
以代码为例:
类关系图如下