什麼是模式?
什麼是設計模式?
設計模式是解決軟體設計常見問題的可復用方案
什麼是反模式?
反模式是一種針對某個特定問題的不良解決方案,該方案會導致槽糕的情況發生
單例模式?
//皇帝單例模式
var kingsingleton = (function
() }
}return
//皇帝存在返回皇帝
return instance;}}
}());
//某日大臣a請示皇帝
var maykinga = kingsingleton.getinstance();
//皇帝發動號令
maykinga.command();
//某日大臣b請示皇帝
var mykingb = kingsingleton.getinstance();
//皇帝發動號令
mykingb.command();
介面卡模式?
//舊的圓孔耳機
function
useoldearphone
() //介面卡
function
adapter
() //舊的手機使用圓孔的耳機
var ip6 = useoldearphone();
//新的ip7可用介面卡來相容使用
var ip7 = adapter();
裝飾器模式?
//豆漿類
function
beanmilk
() //加個雞蛋
function
addegg
(milk)
//加白糖
function
addsugar
(milk)
//加蜂蜜
function
addhoney
(milk)
//一杯豆漿,需要加雞蛋和白糖
var beadmilk1 = new beanmilk();
addegg(beadmilk1);//加雞蛋
addsugar(beadmilk1);//加白糖
//一杯豆漿,需要加雞蛋和蜂蜜
var beadmilk2 = new beanmilk();
addegg(beadmilk1);//加雞蛋
addhoney(beadmilk1);//加蜂蜜
觀察者模式(發布者-訂閱者模式)?
//觀察者
function
observer
() }
//發布者
function
subject
() //增加觀察者
subject.prototype.addobserver = function
(observer) ;
//去除觀察者
subject.prototype.removeobserver = function
(observer) ;
//通知觀察者
subject.prototype.notify = function
(context)
}//建立訂閱者小新
var littlexin = new observer('小新');
//建立訂閱者大新
var bigxin = new observer('大新');
//建立主播d
var ladyd = new subject('主播d');
//增加觀察者大新、小新
ladyd.addobserver(bigxin);
ladyd.addobserver(littlexin);
//廣播訊息
ladyd.notify('我是主播d,我來開直播了');
js 設計模式
1.單例模式 保證乙個類只有乙個例項,並提供乙個訪問它的全域性訪問點 呼叫乙個類,任何時候返回的都是同乙個例項 class singleton getname static getinstance name return this.instance const instancea singleton...
js 設計模式
廣義上,模式是乙個可以用來產生其他事物的模板或者模型。在軟體開發過程中,模式是指乙個通用問題的解決方案,用抽象化表示和解決一類問題的模板。學習設計模式,有助於寫出可復用和可維護性高的程式 設計模式的原則是 找出 程式中變化的地方,並將變化封裝起來 1.工廠模式 即,函式裡面返回單個物件。缺點就是建立...
js 設計模式
設計模式就是一套被反覆使用的 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了重用 讓 更容易被他人理解 保證 可靠性。其實就是前人總結的,針對特定型別問題的設計方案。總體來說設計模式分為三大類 建立型模式 共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模...