美文网首页
JS设计模式4 - The Prototype Pattern

JS设计模式4 - The Prototype Pattern

作者: 转角遇见一直熊 | 来源:发表于2017-03-17 16:37 被阅读56次

    原型模式

    原型模式

    目标

    以一个存在的对象为模板创建一个新的对象。

    何时使用

    1. 新建对象的初始化过程非常昂贵,所以用克隆的方式。
    2. 希望创建一样的对象。
    3. 对象中的状态是有限的。
    4. 当要实例化的类是在运行时刻指定时,例如,通过动态装载。
    5. 当一个系统应该独立于它的产品创建,构成和表示时。

    举例

    1、资源优化场景。 2、类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等。 3、性能和安全要求的场景。 4、通过 new 产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。 5、一个对象多个修改者的场景。 6、一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多个对象供调用者使用。

    代码

    由于JavaScript是基于原型的语言,所以内置了原型模式。

    var myCar = {
     
      name: "Ford Escort",
     
      drive: function () {
        console.log( "Weeee. I'm driving!" );
      },
     
      panic: function () {
        console.log( "Wait. How do you stop this thing?" );
      }
     
    };
     
    // Use Object.create to instantiate a new car
    var yourCar = Object.create( myCar );
     
    // Now we can see that one is a prototype of the other
    console.log( yourCar.name );
    

    总结

    Object.create可以参考

    相关文章

      网友评论

          本文标题:JS设计模式4 - The Prototype Pattern

          本文链接:https://www.haomeiwen.com/subject/efienttx.html