1. 定义
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
这个专业术语我第一遍真没有读懂,这个到底是什么意思呢?
2. 分析
首先即然它叫建造者,说明它的主要目的就是建造一个东西出来,这个东西在Java中不用说也知道特指对象,这是其一; 第二它又说与表示分离,那什么叫作表示呢?表示又可以被解释为表现,也即行为,那从这个角度上来说其意思就是指使创建过程和它的行为分开处理,用另外的话说就是:给你指定的行为按同样的创建方式把这个对象创建出来,就这么一回事。可以参考具体的UML图如下(此图摘自于设计模式之禅一书):
1.png这里的ConcreteBuilder为具体的建造者,而Product是一个具体的产品,一个产品可以由多个零件组成,在ConcreteBuilder中根据具体的零件组装顺序进行装配。
3. Demo
具体的Demo可以参与书中的解释,我认为解释的很详细了。
网友评论