javaScript设计模式之常用工厂模式
工厂函数
定义
由一个工厂对象决定创建某一种产品对象类的实例,主要用来创建同一类对象。
使用场景
比如说你是到一个买宠物的店,里面有很多不同的宠物,你只需要说出宠物的名字给店员就行了。
// 狗的类 var Dog = function() { this.introduce = '中华田园超级大狗'; }; Dog.prototype = { getSkills: function() { console.log('有点吊'); }, getDogSize: function() { console.log('正常大小'); } }; // 猪的类 var Big = function() { this.introduce = '中华大猪'; }; Big.prototype = { getMember: function() { console.log('肉多'); }, getBigSize: function() { console.log('很大'); } }; // 运动工厂 var Animal = function(name) { switch(name) { case '土狗': return new Dog(); case '肉猪': return new Big(); } };
简单工厂模式的理念是创建对象,上面例子是将不同的类实例化,但是简单工厂模式还可以创建相似对象,将相似的东西提取,不相似的针对性处理即可。这样只需创建一个对象就可以替代多个类了.
团队开发不同于个人,对全局变量的限制很大,要尽量少得创建全局变量。如果有同一类对象在不同需求中重复使用,那么大部分是不需要重复创建的,要学会代码复用。用简单工厂来创建对象,可以减少全局变量创建提高代码复用率,它的使用场合限制在创建单一对象。
“我相当乐意花一天的时间通过编程把一个任务实现自动化,除非这个任务手动只需要10秒钟就能完成”