首页 > 代码库 > 建造者模式的设计

建造者模式的设计

      四川人最喜欢吃回锅肉,但是可能你到不同的店里味道多少有些偏差。因为每个店它的做法有可能不一样;不要麦当劳、肯德基那样,生产薯条的工艺都是一样的。所以,我们在肯德基、麦当劳吃的薯条味道都一样的。嘻嘻,其实人家洋人是引入了在设计模块中的建造者模式。

     什么是建造者模式?将一个复杂对象的构建与它的表示相分离;使得同样的建造过程创建不同的表示。这地方需要强调的是创建的顺序是固定的,不会发生大的变化。由于建造者模式隐蔽了复杂对象的内部组建过程,所以改变复杂对象的改变,只需在基类继承一个重新定义具体类就OK了。


技术分享

       对上面的结构图进行讲解:1.Builder 实际就是我们抽象类,在当中我们需要定义不同组件的抽象方法;把我们需要创建组件的部分都添加进去(必须把所有共用的组件抽象进去)。2.ConcreteBuilder对Builder类的继承,实现对每个部件的具体操作。3.Product是具体的产品类是创建产品的具体实例。4.Director是我们建造者模块中最重要的类---指挥类,它实现对各部件的组装,把我们的具体的ConcreteBuilder具体的实例按照顺序创建完成并返回。

      通过以上讲解,大家可以动动手,根据以上的结构图编写代码试试。

建造者模式的设计