创建型设计模式.建造者模式

一、概念

1.1、定义

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
建造者模式将一个复杂类的创建过程,划分为多个「独立步骤」子过程,并且根据需要按照调整「独立步骤」的顺序,从而生成复杂类的对象实例。

Builder.png
  • Director,指挥者:控制构建的算法 和 产品的生成过程。
  • Builder,抽象建造者:创建过程划分为多个「独立步骤」的封装。
  • ConcreteBuilder,具体建造者:实现细节构建,实现Builder的各个创建步骤方法。
1.2、解决的问题

在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。

二、模式的应用和优缺点

2.1、应用场景
  • 应用场景:
    1、去肯德基,汉堡、可乐、薯条、炸鸡翅等是不变的,而其组合是经常变化的,生成出所谓的"套餐"。
    2、在很多游戏软件中,地图包括天空、地面、背景等组成部分,人物角色包括人体、服装、装备等组成部分,可以使用建造者模式对其进行设计,通过不同的具体建造者创建不同类型的地图或人物。
2.2、优缺点
  • 优点:
    1、复杂对象构建过程进行解耦,扩展变的简单容易,层次更加清晰,降低系统耦合度
    2、构建过程的解耦,对于高风险的对象更加容易控制细节风险。

  • 缺点:
    1、产品必须有共同点,范围有限制。
    2、如内部变化复杂,会有很多的建造类。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容