设计模式之建造者模式
建造者模式是日常开发中比较常见的设计模式,它的主要作用就是将复杂事物创建的过程抽象出来,该抽象的不同实现方式不同,创建出的对象也不同。通俗的讲,创建一个对象一般都会有一个固定的步骤,这个固定的步骤我们把它抽象出来,每个抽象步骤都会有不同的实现方式,不同的实现方式创建出的对象也将不同。举个常见的例子,想必大家都买过电脑,电脑的生产或者组装其实就是属于建造者模式,我们知道,电脑的生产都需要安装CPU、内存条、硬盘等元器件。我们可以把这个安装步骤抽象出来,至于到底装哪种CPU,比如i5还是i7就是对该抽象安装步骤的具体实现。 建造者模式分为两种,一种为经典建造者模式,另一种为变种建造者模式。我们来挨个看下: 经典Builder模式 我们先来看下经典Builder模式,先上UML类图: 从上图可以看到,经典Buider模式中有四个角色: 要建造的产品Product – 组装的电脑 抽象的Builder – 装CPU、内存条、硬盘等抽象的步骤 Builder的具体实现ConcreteBuilder – 对上述抽象步骤的实现,比如装i5CPU、8G内存条、1T硬盘 使用者Director – 电脑装机人员 接下来我们来看下用代码如何实现上述组装电脑的过程: 1.首先我们先来创建一个Computer类: public class Computer { /*CPU*/ private String