设计模式(2)-Builder 建造者模式

(Builder Pattern):使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。

 

应用场景:在Java的应用中JavaMail使用到了该模式

设计模式(2)-Builder 建造者模式

设计模式(2)-Builder 建造者模式


建造模式分成两个很重要的部分:

  1. 一个部分是Builder接口定义了如何构建各个部件,也就是知道每个部件功能如何实现,以及如何装配这些部件到产品中去。

  2. 另外一个部分是Director,Director是知道如何组合来构建产品,Director负责整体的构建算法,而且通常是分步骤地来执行

不管如何变化,建造模式都存在这么两个部分,一个部分是部件构造和产品装配,另一个部分是整体构建的算法。认识这点是很重要的,因为在建造模式中,强调的是固定整体构建的算法,而灵活扩展和切换部件的具体构造和产品装配的方式。

建造模式的重心在于分离构建算法(Director)和具体的构造实现(Builder),从而使得构建算法可以重用。具体的构造实现可以很方便地扩展和切换,从而可以灵活地组合来构造出不同的产品对象。