js设计模式——建造者模式

建造者模式:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。

主要解决:在软件系统中,有时候面临着"一个复杂对象"的创建工作,由于需求的变化,这个复杂对象的某些部分经常面临着剧烈的变化,一些基本部件不会变。所以需要将变与不变分离。

与抽象工厂的区别:在建造者模式里,有个指导者(Director),由指导者来管理建造者,用户是与指导者联系的,指导者联系建造者最后得到产品。即建造者模式可以强制实行一种分步骤进行的建造过程。

//产品——产品类
    function Product(){
        this.design = "";
        this.db = "";
        this.front = "";
        this.back = "";
    }
    //产品经理——指导类
    function ProductManager(){
        this.startWork = function(engineer){
            engineer.productDesign();
            engineer.frontEnd();
            engineer.backEnd();
            engineer.dbManageer();
        }
    }
    //工程师——建造者类
    function Engineer(){
        this.productDesign = function(){
            console.log("产品设计好了");
        };
        this.dbManageer = function(){
            console.log("数据库设计好了");
        };
        this.backEnd = function(){
            console.log("后台写好了");
        };
        this.frontEnd = function(){
            console.log("前台写好了");
        };
        this.done = function(){
            var product = new Product();
            product.design = "done";
            product.db = "done";
            product.back = "done";
            product.front = "done";
            return product;
        }
    }

(1)建造者模式中有一个指导者,他不负责建造任何东西,但是他会把别人建好的东西组合起来

 还没理解透,没写完

转载于:https://my.oschina.net/wyc1219/blog/830331

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值