设计模式(5)-建造者模式
建造者模式介绍
将复杂对象的构建和它的表示进行分离,使相同的构建过程可以有不同的表示。
建造者模式优点
- 扩展方便,在新增加建造者类的时候,不需要改动原有的代码。
- 将一个复杂对象,拆分开来进行建造,最后组合,更容易理解。
- 使产品和创建产品之间解耦,相同的创建过程可以创建不同的对象。
建造者模式缺点
- 当建造者过多时,比较难以维护。
实现
-
场景:有一个蛋糕店,生产北京蛋糕和广州蛋糕,它们的生产流程是一样的,但是用的材料不一样。
-
场景结构图如下:
-
首先先创建具体的产品类:
-
抽象建造类,并创建指挥者类,构造生产流程:
-
每种蛋糕实现继承Ibuilder,进行自己的具体实现:
-
客户端调用方式及结果展示: