一、单例模式
var singleInstence = (function(){
var single;
var createSingle = function(){
return {}
};
return {
getInstance:function(){
if(single) return single;
single = createSingle();
return single
}
}
})();
实际应用:vuex的store对象
二、观察者模式
// 主题对象
function Subject() {
this.observers = [];
}
Subject.prototype = {
addObserver: function (observer) {
this.observers.push(observer);
},
removeObserver: function (observer) {
var index = this.observers.indexOf(observer);
if (index > -1) {
this.observers.splice(index, 1);
}
},
notify: function () {
this.observers.forEach(function (observer) {
observer.update();
});
},
};