初级设计模式
-
建造者设计模式(Builder Design Pattern)又叫作生成器模式,是一种对象构建模式,其核心在于将产品和产品建造过程解耦。
建设者模式允许用户只通过指定复杂对象的类型和内容就可以一步一步地构建出一个复杂的对象,在这个过程当中,用户不需要知道内部的具体构建细节。
因此,建造者模式特别适合用于构建具有复杂内部结构的对象,或者是需要生成内部本身相互依赖的对象。
与工厂模式的区别:工厂模式注重的是整体对象的创建方法,而建造者模式注重的是对象的创建过程,创建对象的过程方法可以在创建时自由调用。
它们的区别还可以使用以下的经典例子解释:顾客走进一家餐厅点餐,根据用户不同的选择,可以利用工厂模式来制作不同的食物,比如披萨、汉堡、沙拉。对于披萨来说,用户又有各种配料可以定制,比如奶酪、西红柿、起司,可以通过建造者模式根据用户选择的不同配料来制作披萨。
实现方式传统的建造者模式会包括以下 4 部分:
建造者 Builder 抽象类:构建对象的抽象类,包括 buildPartX() 相关的构建对象方法,以及 getResult() 这样获取实际对象的方法
建造者 ConcreteBuilder 具体类:继承自 Builder 抽象类,完善及构建自己特殊的 buildPartX()方法
指挥者 Director 具体类:与客户端对接,然后根据需要创建出所需的对象,可以看做是一个代理
产品 Product 具体类:实际被构建出来的实际产品类
简单的 Builder 抽象类代码示例如下:
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏