简单工厂模式
又叫静态工厂方法:由一个工厂对象决定用那一种类来创建产品,主要用来创建同一类对象,是类的实例化的包装。
var PlayBaseketball = function () { this.neededPeople = 15; }; PlayBaseketball.prototype.rule = function () { console.log('运球,传球,投篮,'); }; var playFootball = function () { this.neededPeople = 20; }; playFootball.prototype.rule = function () { console.log('带球,射球'); }; //运动 var ballFactory = function (name) { switch(name) { case 'baseketball': return new PlayBaseketball(); case 'football': return new playFootball(); default: throw '我这里没有你要的东西'; } }
更简单的方式是使用类似于适配的方式做差异化管理:
function createBall(name) { var temp = new Object(); //公共部分 var common = function () { } //差异部分 if(name === 'baseketball') { temp... } else if (name === 'football') { temp... } else { throw '我没有你要的东西'; } }