Builder(生成器)---对象创建型模式

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

使得生成器可以隐藏这个产品的表示和内部结构。同时也隐藏了该产品是如何装配的。

因为产品是通过抽象接口构造的,在改变该产品的内部表示时所要做的只是定义一个新的生成器。

将构造代码和表示代码分开,Builder模式通过封装一个复杂对象的创建和表示方式提高了对象的模块性。

使你可对构造过程进行更精细的控制。Builder模式与一下子就生成产品的创建型模式不同,它是在导向者的控制下一步一步构造产品的。仅当该产品完成时导向者才从生成器中取回它。因此Builder接口相比其他创建型模式能更好的反映产品的构造过程。

通常情况下,由具体生成器生成的产品,它们的表示相差是如此之大以至于给不同的产品以公共父类没有太大意思。可以通过接口实现统一。

Abstract Factory与Builder相似,因为它也可以创建复杂对象。主要的区别是Builder模式着重于一步步构造一个复杂对象。而Abstract Factory着重于多个系列的产品对象(简单的或是复杂的)。Builder在最后的一步返回产品,而对于Abstract Factory来说,产品是立即返回的。

猜你喜欢

转载自linshiquan.iteye.com/blog/1025894
今日推荐