javascript设计模式:简单工厂模式
2017-03-13 21:21
501 查看
//篮球基类 var Basketball= function () { this.intro="篮球盛行于美国"; } Basketball.prototype={ getMember:function(){ console.log("每个队伍需要5名队员"); }, getBallSize: function () { console.log("篮球很大") } } //足球基类 var Foottball= function () { this.intro="足球在全世界范围内流行"; } Foottball.prototype={ getMember:function(){ console.log("每个队伍需要11名队员"); }, getBallSize: function () { console.log("篮球很大") } } //网球基类 var Tennis= function () { this.intro="每年有好多网球比赛"; } Tennis.prototype={ getMember:function(){ console.log("每个队伍需要1名队员"); }, getBallSize: function () { console.log("网球很小") } } var SportFactory=function(name){ switch (name){ case "NBA":return new Basketball(); case "wordCup":return new Foottball(); case "FrenchOpen":return new Tennis(); } } var football=SportFactory("wordCup"); console.log(football); console.log(football.intro); football.getMember();
简单工厂的理念是创建对象,以上的方式是对不同的类实例化。
除此之外,简单工厂模式还可以用来创建相似对象。
function createBook(name,time,type){ var o =new Object(); o.name=name; o.time=time; o.getTime=function(){ console.log(this.name); } if(type=="言情书"){ //言情书归类 } if(type=="玄幻书"){ //玄幻书归类 } if(type=="小说"){ //小说归类 } return o; } var newbook=createBook("解忧杂货铺","2015","小说");
总结:第一种通过实例化对象创建,通过此方法创建的对象,如果这些对象继承同一父类,那么他们的父类原型上的方法可以共用。
第二种通过创建一个新对象然后包装增强其属性和功能实现的。对象通过寄生方式创建,每个对象都是一个新个体,方法不可共用,
相关文章推荐
- Javascript设计模式理论与实战:简单工厂模式
- 读JavaScript设计模式之简单工厂模式有感
- javascript设计模式--简单工厂模式
- 【JavaScript设计模式】创建型设计模式--简单工厂、工厂方法、抽象工厂
- JavaScript设计模式之工厂模式简单实例教程
- JavaScript设计模式--简单工厂模式例子---XHR工厂
- Javascript设计模式理论与实战:简单工厂模式
- Javascript设计模式理论与实战:简单工厂模式
- javascript设计模式(一)-简单的工厂模式
- javascript设计模式简单介绍之【工厂模式】
- 阎宏博士讲解:简单工厂(Simple Factory)模式
- 简单工厂设计模式-设计模式(1)
- 单态模式(Singleton)简单工厂(Simple Factory)
- JAVA设计模式——简单工厂(Simple Factory)模式
- 简单工厂模式
- 简单工厂模式,抽象工厂模式,反射工厂模式的代码总结
- 阎宏:Java语言简单工厂创立性模式介绍
- 简单的工厂模式
- 小菜编程成长记(五 体会简单工厂模式的美妙)
- 设计模式之(2)简单工厂模式