首頁>>企業動態
程序猿必須了解的8種設計模式
作者:西安軟件開發公司 | 轉載 來源:西安軟件開發公司 | 時間:2018年8月10日| 點擊:0次 | 【評論】

1. 單例模式
有些時候,允許自由創建某個類的示例沒有意義,還可能造成系統性能下降(創建開銷),不如這個類只能創建一個實例,那么就做成單例模式。
2. 工廠模式
a. 簡單工廠
如果A類需要調用一個B類的方法,讓B類實現一個IB接口,而A類與IB接口耦合——重新定義一個IBFactory,由該類來創建IB實例,用IB來創建并調用B類。
可以避免硬編碼,提高可維護性和可擴展性。
b. 抽象工廠
“工廠的工廠”,可以讓客戶端的代碼與被調用對象的實現類、具體的工廠類分離。
3. 代理模式
第一種情形:只要客戶端不能或不想直接訪問被調用對象(比如創建開銷過大,或者對象的功能不足以滿足需求,或者被調用對象在遠程主機上),那么就創建一個代理對象返回給客戶端適用;第二種情形是:當目標對象的功能不足以滿足客戶端需求時,系統可以創建一個代理對象,增強原目標對象的功能(如借助Proxy和InvocationHandler)
4. 命令模式
形參中包含一個函數的封裝,類似回調機制。
5. 策略模式
實現一個策略類,用策略類來決定調用哪個類,類似多態。
6. 門面模式Facade
多加一層中間層,把一些需要按步驟依次調用的類方法封裝到一起。
7. 橋接模式
把變化部分分離開來,從而將多個維度的變化徹底分離。最后提供一個管理類來組合不同維度上的變化,通過這種組合來滿足業務的需要。這個管理類就起到橋梁作用。
如書中舉的例子:辣/不辣的牛肉/豬肉面。那么就把辣/不辣&豬肉/牛肉視為不同維度的變化而分離。
8. 觀察者模式
類似事件監聽機制。

此內容DOC下載 此內容PDF下載

【全文完】
關鍵詞標簽: php設計模式 
0 ([$-頂稿人數-$])
0 ([$-踩稿人數-$])

版權聲明:

1、弈聰軟件網站內容中凡注明“來源:XXX(非陜西弈聰網站)”的作品,轉載自其它媒體,轉載目的在于傳遞更多信息,其中涉及的網站建設,網站優化,APP開發,微信小程序開發,大數據平臺開發,區塊鏈技術開發等軟件開發技術細節并不代表本站贊同支持其觀點,并不對其真實性負責。對于署名“陜西弈聰”的作品系本站版權所有,任何人轉載請署名來源,否則陜西弈聰將追究其相關法律責任。

2、本站內容中未聲明為“原創”的內容可能源自其它網站,但并不代表本站支持其觀點,對此帶來的法律糾紛及其它責任與我方無關。如果此內容侵犯了您的權益,請聯系我方進行刪除。

天天影视综合网