設計模式總結(1)(內容來源與大話設計模式)

面向對象的基本概念彙總:
1.開放封閉原則:
軟件的實體應該可以擴展,但是不可修改
2.依賴倒轉原則
高層的模塊不應該依賴低層的模塊,兩者都應該依賴抽象。
抽象不應該依賴細節,細節應該依賴抽象。
3.里氏代換原則
子類型必須能夠替換他們的父類型
4.迪米特法則
如果兩個類不必彼此直接通信,那麼這兩個類就不應當發生直接的相互作用。如果其中一個類需要調用另一個類的某一個方法的話,可以通過第三者轉發這個調用。
5.合成/聚合複用原則
儘量使用合成/聚合,儘量不要使用類繼承


設計模式的一句話概括:
1.迭代器模式
提供一種方法順序訪問一個聚合對象中各個元素,而有不是暴露該對象的內部表示。
2.中介者模式
用一箇中介者來封裝一系列的對象交互,中介者使各個對象不需要顯示地相互引用,從而使其耦合鬆散,而且可以獨立地改變他們之間的相互交互。
3.單例模式
保證一個類僅有一個實例,並提供一個訪問它的全局訪問點
4.享元模式
運用共享技術有效地支持大量細粒度的對象
5.解釋器模式
給定一個語言,定義它的文法的一種表示,並定義一個解釋器,這個解釋器是同該表示來計算式語言中的句子。
6.橋接模式
將抽象部分與它的實現部分分離,使它們都可以獨立的變化。
7.訪問者模式
表示一個作用於某對象結構中的各元素的操作,它使你可以在不改變各元素的類的前提下定義作用於這些元素的新操作
8.命令模式
將一個請求封裝爲一個對象,從而使你可用不同的請求對客戶進行參數化;對請求排隊或紀錄請求日誌,以及支持可撤銷的操作。
9.策略模式
它定義了算法家族,分別封裝起來,讓它們相互之間可以替換。此模式讓算法的變化不會影響到使用算法的客戶。
10.責任鏈模式
是多個對象都有機會處理請求,從而避免請求的發送者和接受者之間的耦合關係,將這個對象連成一條鏈,並沿着這條鏈傳遞該請求。
11.原型模式
用原型實例指定創建對象的種類,並且通過拷貝這些原型創建新的對象。
12.代理模式
爲其他對象提供一種代理一控制對這個對象的訪問。
13.裝飾着模式
動態地給一個對象添加一些額外的職責,此模式比生成子類更爲靈活。
14.工廠方法模式
定義一個用於創建對象的接口,讓子類決定實例化哪一個類。工廠方法是一個類的實例化延遲到其他子類。
15.模板方法模式
定義一個操作中的算法骨架,而將一些步驟延遲到子類中,模板方法使得子類可以不改變一個算法的結構即可重定義改算法的某些特定步驟。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章