js 创建对象模式分析

面向对象的编程总是避免不了创建对象,更加之任何事物都可看做对象,这样子我们书写代码的时候,就会遇到各种千奇百怪的问题。需要一个合理的模式完成对象的创建。

     集团、工厂、产品线。

           假设工地现在需要一堆建筑材料,有长方形的墙体,原型的柱子三角形的屋顶还有些许当前未知但后期会出现的需求    这个时候可以采取 集团 工厂产品线的方式.

           集团:我们当前需要的建筑材料的生产商

           工厂:集团下属负责生产材料的厂家

            产品线:工厂里面负责制造产品的单位

需求分析:

           建筑材料:   寻找建筑厂商

           材料批次:   寻找工厂

           材料生产:   寻找产品线 

           根据这个模式,我们来试着去创建对象

第一步:开个招标会 招标,集团投标

           var  coMetting = new CoMetting();

           参加招标会的集团有

         var   co_nokia='nokia';

         var   co_huawei='huawei';

         var   co_Zte ='zte';

        var  co_xxx='xx'; 

第二步:招标会竞争很激励,大集团使用浑身解数,终于有一家集团拿到了标。以后我们要建筑材料的时候就去这个集团发需求了。

        var  co=coMetting.getCo('huawei')

 第三步:集团拿到标了,有生意了,肯定需要和工地交流看看到底需要什么样的产品,什么档次的产品,什么版本的          产品。然后交由工场去生产。

     var    best = ‘best’;

     var  secon=‘second’

    var  xx=‘xx’;

    根据  好坏或者档次对工场命名

  综合考虑选择了意见性价比较高的厂家   

  var  factoryt = co.getFactory(second);

第四步:签了合同就该开始准备上生产线了,工厂有很多条生产线,不同生产线生产不同的东西。

       选择的共产有以下 产品线:

     var  boxDept=‘box’;

     var  cylinderDept='cylinder';

     var  xx='xx'

var  boxDept=  factoryt.getDept(‘box')工地可能需要多种建筑材料

var  cylinderDept =factoryt.getDept(‘cylinder')

第五步:生产

      工地说我需要一个  长宽高分别为 100,100,100 的墙(是个正方体吧),这个时候向生产线发个消息告诉规格

       var msg=       {x:100,y:100,z:100} 

       然后让生产线去生产,生产线生产完了之后给他返回一个box

       var box =boxDept.create(msg);

第六步:定制需要

       好吧这一步是给不停改需求的产品经理设计的

        产品经理说我要的墙能安装销毁(很好理解,不能安装不能拆的墙没法用)

       那么产品线就要给我的box 提供一下方法

     box.show()

     box.destory();

       有一天产品经理说:‘我要一面神奇的墙,万一遇到事故了,我的墙能飞,我就没事了”。

       这个时候只需要通知生产线给墙安装两个翅膀了。

        然后产品经理就可以

         box.fly();


====================================

结语:

   工地要一块转不一定这么麻烦

    第一:我们工地有合作伙伴,那么就不要开招标会了,可以直接找合作集团。

    第二:    我们工地供货稳定,一直都是由同一个厂家供货的,此时直接找厂家就ok。

   第三:     我们只需要你一批转,直接找个产品线,告诉产品线生产就行。

   第四:     我们工地保安缺一块砖头砸人,直接在外面找一块转就行。


本文完成:

    对象是活的,模式也是活的。没有最好的模式,只有最优最合适的模式。

你可能感兴趣的:(js 创建对象模式分析)