设计模式之创建型原型模式
2014-04-29 09:11
190 查看
用原型实例指向创建对象的类,使用于创建新的对象的类共享原型对象的属性以及方法。
用于子类继承父类,为了提高性能,对于每次创建的一些简单的而又有差异化的属性可以放在构造函数中,将一些消耗资源比较大的方法放在基类的原型中,这样就可以避免不必要的消耗,这就是原型模式的雏形。
原型模式更多的是用在对象的创建上,比如创建一个实例对象的构造函数比较复杂或者耗时比较长,或者通过创建多个对象来实现。此时最好不要用new关键字去复制这些基类,可以通过对这些对象属性或者方法进行复制来实现创建,首先要有一个原型对象的复制方法。
用于子类继承父类,为了提高性能,对于每次创建的一些简单的而又有差异化的属性可以放在构造函数中,将一些消耗资源比较大的方法放在基类的原型中,这样就可以避免不必要的消耗,这就是原型模式的雏形。
原型模式更多的是用在对象的创建上,比如创建一个实例对象的构造函数比较复杂或者耗时比较长,或者通过创建多个对象来实现。此时最好不要用new关键字去复制这些基类,可以通过对这些对象属性或者方法进行复制来实现创建,首先要有一个原型对象的复制方法。
// 原型对象复制方法 function prototypeExtend() { var F = function() {}, args = arguments, i = 0, len = args.length; for (; i < len; i++) { // 遍历每个模板对象中的属性 for(var j in args[i]) { F.prototype[j] = args[i][j]; } } // 返回缓存类实例 return new F(); }
var MyPage = prototypeExtend({ dataType: 'string', js: function() { console.log('js的数据类型有' + this.dataType); }, php: function() { console.log('php的数据类型有' + this.dataType); } })
相关文章推荐
- 设计模式学习之--PROTOTYPE(原型)对象创建型模型
- [导入]C#面向对象设计模式纵横谈(6):Prototype 原型模式(创建型模式).zip(9.56 MB)
- JAVA设计模式(05):创建型-原型模式(Prototype)
- Java设计模式之创建型模式--原型模式
- 创建型设计模式---原型模式(Prototype)
- Java技术_每天掌握一种设计模式(006)_使用场景及简单实例(创建型:原型模式)
- 设计模式(四)原型模式Prototype(创建型)
- python创建型设计模式——原型模式、单例模式
- Python的创建型设计模式之原型模式与单例模式
- 设计模式笔记(6)---原型模式(创建型)
- 设计模式——创建型设计模式总结(简单工厂、普通工厂、抽象工厂、建造者、原型和单例)
- 23种设计模式之原型模式(创建型,5 Prototype,c++实现)
- C#设计模式之五原型模式(Prototype Pattern)【创建型】
- 设计模式笔记(6)---原型模式(创建型)
- 创建型设计模式(6):原型模式
- 《Android之大话设计模式》--设计模式 创建型模式 第五章:原型模式
- 设计模式笔记(6)---原型模式(创建型)
- 设计模式--创建型模式之原型模式
- JAVA设计模式(5) —<创建型>原型模式(Prototype)
- 设计模式 - 创建型模式 - 原型模式