-
单例
-
概述:保证一个系统中一个类只有一个实例,即一个类只有一个对象实例
-
const Single = (function(){ let instance; const init = function(n, a) { var name = n; var age = a; return { // 定义公共方法 getInfo: function(){ console.log('name:',name, 'age:', age); } } } return { // 获取实例 getInstance: function(n, a) { if (!instance) { instance = init(n, a); } return instance; } } }()); const o1 = Single.getInstance('a', 10); const o2 = Single.getInstance('b', 20); // 对于单例模式只实例化一次,当再次实例化的时候this.instance已经存在直接返回, o1.getInfo(); // name: a age: 10 o2.getInfo(); // name: a age: 10 o1 === o2 // true
-
-
工厂模式
-
简单工厂模式概述:常用的实例化对象模式,用工厂方法代替new 操作
const Factor = function (name, color) { const obj = new Object(); obj.name = name; obj.color = color; obj.getInfo = function () { console.log('名称:', obj.name, '颜色:', obj.color) } return obj; } var cat1 = new Factor('小黑', 'black'); cat1.getInfo();// 名称: 小黑 颜色: black
-
复杂工厂模式概述:升级版的简单工厂模式,对多个类进行抽象化。。。
-