设计模式之-【创建型模式-建造者模式】

设计模式之-建造者模式

   建造者模式的定义是指将一个复杂的构建与其表示相隔离,使得同样的构建过程可以创建不同的表示;将一个复杂的对象分解成多个简单的对象,通过组合在一起一步构建而成,因此可以灵活选择。

  优点:

    1、每个建造者是相互独立,容易扩展

    2、方便控制细节风险

  缺点:

    1、产品的组成部分必须相同,者限制了使用范围

    2、如果产品的内部变化复杂,会增加很多建造者类

建造者模式结构

   建造者(Builder)模式由4个要素组成,分别是产品、抽象建造者、具体建造者、指挥者。

  产品角色:包含多个组成部件的复杂对象;

  抽象建造者(Builder):包含创建产品的抽象接口,通常提供一个返回产品的方法 getResult();

  具体建造者:实现Builder接口,实现复杂产品的具体创建方法;

  指挥者:调用建造者对象中的具体创建方法,完成创建复杂对象;

建造者模式简单实现

   步骤一、定义一个复杂的产品对象

   

   步骤二、定义抽象建造者,且声明抽象创建产品对象方法

     

   步骤三、定义具体实现建造者,实现Builder接口

    

   步骤四、定义指挥者,调用建造者中方法创建复杂对象

    

   客户端

    

    

应用场景

  在系统开发中会面临一个问题,如何即将变与不变相分离开,因此可采用建造者模式,如一些部件是不会变,而其相互组合经常变化。举例,汉堡、薯条、可乐这些是不会变的,而经常变化的是组合之后的套餐。

猜你喜欢

转载自www.cnblogs.com/zhaiMaoDou/p/13394175.html