為什麼要有設計模式?
設計模式的根本目的是減少專案變化所造成的影響,這一點要牢牢記住!
工廠模式是把專案當中的變化點抽取封裝出來.至於哪些是變化點,哪些該抽象需要開發者自行觀察和**.
就要話說《設計模式:可復用物件導向軟體的基礎》這本書了,標題的重點應該是後面,可復用,物件導向,設計模式這個詞有點太高階。容易誤導。現在應該叫套路吧。
我先說一下物件導向設計原則,然後是幾個我熟悉的設計模式。
依賴倒置原則:
a.高層次的模組不應該依賴於低層次的模組,他們都應該依賴於抽象。
b.抽象不應該依賴於具體實現,具體實現應該依賴於抽象。
1.這得從class,object這兩個詞開始說,class:種類 ,object:物體。如果只叫,類和物件,就不太清楚了。因為class是乙個類屬,是對一堆有共同點的乙個集合。object,物體,就不是乙個類屬,是乙個事實存在的東西。
2.子類,父類,繼承。總是被傳授子類,父類,繼承,很容易就讓人聯想到現實生活中子承父業的事。其實這是錯誤的,這並沒有什麼關係。這是一種類屬關係。動物類可以分出-陸生動物,水生動物。應該是擁有共同點分的類(父類)和向某個方向細化的分的類(子類)。
再看依賴倒置原則,縮句一下:依賴於抽象。
開放封閉原則:
對擴充套件開放,對更改封閉。我理解的意思就是,只新增新的,不修改原來的。
單一職責原則:
乙個類應該僅有乙個引起它變化的原因,變化的方向隱含著類的責任。
liskov替換原則:
子類必須能夠替換他們的基類
介面隔離原則:
不應該強迫客戶程式依賴他們不用的方法,介面應該小而完備。
·優先使用物件組合,而不是類繼承
·封裝變化點
·針對介面程式設計,而不是針對實現程式設計
不要為模式而模式
關注抽象類和介面
理清變化點和穩定點
審視依賴關係
良好的設計是演化的結果
物件導向設計模式學習(一) 物件導向設計模式與原則
1。軟體設計模式是一些常見問題的一般解決案。2。物件導向設計模式是在物件導向開發中描述物件之間資訊通訊的組織關係。3。面象物件的三個特點 封裝 內部實現的隱藏 繼承 實現 復用 多型 改寫物件的行為 4。實現封裝,繼承,多型並不代表就是乙個面象物件模式設計,是面象物件模式的設計才導致了封裝,繼承,多...
物件導向 設計模式
提到設計模式,不得不感謝gof gang of four,四人組 他們1995年出版的 設計模式 一書,第一次將設計模式提公升到理論高度,並將之規範化。書中一共總結了23種基本的設計模式。而這23中設計模式幾乎涵蓋了物件導向設計過程中所有問題的解決方案。書中提到的23種設計模式分別是 1.單例模式 ...
設計模式 物件導向
所謂的設計原則也好,設計模式也罷,無非是在物件導向的前提下產生的。而物件導向的前提是抽象,物件導向的三大特徵是封裝 繼承 多型。為了從本質上理解設計模式,下面我們分析一下這些概念之間的關係。請看下圖 物件導向思想的前提是抽象,從現實世界中抽象出一些物件或者類的共性之後封裝成類或者抽象類或者介面。這些...