本文只是對“設計模式”,有個粗略的印象,列列有什麼東西,具體內容在各章節再描述。
一、設計模式概述
本部分內容主要來自百度百科詞條“設計模式”。
1.概念
設計模式(Design pattern)是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是爲了可重用代碼、讓代碼更容易被他人理解、保證代 碼可靠性。 毫無疑問,設計模式於己於他人於系統都是多贏的;設計模式使代碼編制真正工程化;設計模式是軟件工程的基石脈絡,如同大廈的結構一樣。
2.分類(23種GOF設計模式)
設計模式分爲三種類型,共23種。
創建型模式:單例模式、抽象工廠模式、建造者模式、工廠模式、原型模式。
結構型模式:適配器模式、橋接模式、裝飾模式、組合模式、外觀模式、享元模式、代理模式。
行爲型模式:模版方法模式、命令模式、迭代器模式、觀察者模式、中介者模式、備忘錄模式、解釋器模式、狀態模式、策略模式、職責鏈模式、訪問者模式。
3.設計原則(5原則)
開閉原則(Open Closed Principle,OCP)
里氏代換原則(Liskov Substitution Principle,LSP)
依賴倒轉原則(Dependency Inversion Principle,DIP)
接口隔離原則(Interface Segregation Principle,ISP)
合成/聚合複用原則(Composite/Aggregate Reuse Principle,CARP)
最小知識原則(Principle of Least Knowledge,PLK,也叫迪米特法則)。
4.學習思路
某設計模式叫什麼名字,明白爲了解決什麼問題而有了這個模式,具體是怎麼解決的,優缺點適用性是啥。
二、設計模式在軟件開發過程中所處地位
本部分內容主要參考 王朔韜所著《軟件是這樣“煉”成的 ——從軟件需求分析到軟件架構設計》。
內容待補充