JS設計模式

2021-08-18 13:15:22 字數 2031 閱讀 2414

什麼是模式?

什麼是設計模式?

設計模式是解決軟體設計常見問題的可復用方案

什麼是反模式?

反模式是一種針對某個特定問題的不良解決方案,該方案會導致槽糕的情況發生

單例模式?

//皇帝單例模式

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 設計模式

設計模式就是一套被反覆使用的 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了重用 讓 更容易被他人理解 保證 可靠性。其實就是前人總結的,針對特定型別問題的設計方案。總體來說設計模式分為三大類 建立型模式 共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模...