读书人

JAVA设计形式:建造者(Builder)

发布时间: 2012-07-29 15:26:14 作者: rapoo

JAVA设计模式:建造者(Builder)
创建对象的方法很多,常见的有构造函数,静态工厂方法,工厂方法等。以上三种方法不适合创建需要提供多个参数的对象,而其中某些参数是可选的场景。读者可能会想到通过空的构造方法先构建一个对象的雏形,然后调用getter和setter方法向对象内部注入状态数据。这种方式看似很不错,但还是可能存在对象的状态数据未完全写入前对象已被使用的风险。

建造者模式将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。

建造者模式涉及到的三个角色:

产品:被建造的对象;建造者:抽象产品的建造过程;导演者:按需要建造不同的产品。

以网上经典的创建文件的过程为例子,先来看要创建的产品,即文件对象,一个文件由三部分组成:



读书人网 >软件开发

热点推荐