一、简略类图
二、角色
抽象建造者角色:给出一个抽象接口,以规范产品对象的各个组成成分的建造。
具体建造者角色:用于在应用程序调用下创建产品的实例。
导演者角色:担任这个角色的类调用具体建造者角色以创建产品对象。
产品角色:需建造的复杂对象。
三、解决
主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。
四、使用场景
1、需要生成的对象具有复杂的内部结构。
2、需要生成的对象内部属性本身相互依赖。