论坛首页 入门技术论坛

可复用面向对象编程——BUILDER(生成器)

浏览 1226 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-01-26   最后修改:2010-01-26

1.诠释

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

 

2.实用范围
• 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
• 当构造过程必须允许被构造的对象有不同的表示时。

 

3.好处

• 它使你可以改变一个产品的内部表示

B u i l d e r对象提供给导向器一个构造产品的抽象
接口。该接口使得生成器可以隐藏这个产品的表示和内部结构。它同时也隐藏了该产品是如
何装配的。因为产品是通过抽象接口构造的,你在改变该产品的内部表示时所要做的只是定
义一个新的生成器。


• 它将构造代码和表示代码分开

B u i l d e r模式通过封装一个复杂对象的创建和表示方式
提高了对象的模块性。客户不需要知道定义产品内部结构的类的所有信息;


•  它使你可对构造过程进行更精细的控制

B u i l d e r模式与一下子就生成产品的创建型模
式不同,它是在导向者的控制下一步一步构造产品的。仅当该产品完成时导向者才从生成器
中取回它。因此B u i l d e r接口相比其他创建型模式能更好的反映产品的构造过程。这使你可以
更精细的控制构建过程,从而能更精细的控制所得产品的内部结构。

 

4.实现

function loadClip(str:String):void {
    try {
           cls=getDefinitionByName(str) as Class;
           mc = new cls();
           addChild(mc);
         } catch (e:Error) {
            trace(e);
           }
}

 

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics