天天看點

設計模式幾大核心要點!

設計模式初步

1,初探設計模式

設計模式幾大核心要點!

1.1設計模式?

是一套被反複使用,多數人知曉的,經過分類編目的,代碼設計經驗的總結。

1.2為什麼需要設計模式?

假設有個很簡單的需求,很快就能實作,但是系統設計當初并沒有考慮到這些需求的變化,随着需求的累加,系統将會變得十分臃腫,可擴充性極差,随便修改溢出都可能會出現不可預料的後果,也許修改下配置,抑或改下代碼就能解決的事,結果卻是需要修改N出代碼才能達到目的。

1.3使用設計模式的優點?

改善系統的設計,增強系統的健壯性,可擴充性和可維護性,以不變應萬變。

2.設計模式的6大原則

1,開閉原則

開閉的原則的意思是:對外擴充開放,對内修改關閉, 用抽象建構整體架構,用細節實作擴充。

在程式需要進行拓展的時候,不能去修改原有的代碼,實作一個熱插拔的效果。簡而言之,是為了使程式的擴充性好,易于維護和更新。想要達到這樣的效果,我們需要使用接口和抽象類,後面的具體設計中我們會提到這點。

2.裡氏代換原則

裡氏代換是面向對象設計的基本準則之一。裡氏代換原則中說,任何基類可以出現的地方,子類一定可以出現(一個子類應該可以替換掉父類并且可以正常工作的)。LSP是繼承複用的基石,隻有當派生類可以替換掉基類,且軟體機關的功能不受影響時,基類才能真正的被複用,而派生類也能夠在基類的基礎上增加新的行為。(通俗點講就是,我們子類一般不該重寫父類的方法,因為父類的方法是對外公布的接口,具有不可變化性,我們不應該把一些不該變化掉的東西給修改掉)它是對開閉原則的補充。實作開閉原則的關鍵是抽象化,而基類與子類的繼承關系就是抽象化的具體實作,是以裡氏代換原則是對實作抽象化具體步驟的規範。

3.依賴到轉原則

這個原則是開閉原則的基礎,具體内容:針對接口程式設計,依賴抽象而不依賴具體。也就是說高層子產品不該依賴底層子產品,抽象不該依賴細節,細節應該依賴抽象。

4.接口隔離原則

他的意思是:使用多個隔離的接口,比使用單個接口要好。另外一個意思是:降低類之間的耦合度。由此可見,其實設計模式就是從大型軟體架構除發,便于更新和維護的軟體設局思想,他強調降低依賴降低耦合。

強調的是一個接口擁有的所有行為應該盡可能的小。假設如果做不到這一點就會出現這樣的狀況,一個類實作了一個借口,裡面很多方法都是空着的,隻有個别幾個方法實作了。這樣做就是強制實作的人不得不實作本不該實作的方法,容易個使用者造成假象。

5.迪米特法則,又稱最少知道原則

最少知道原則是指:一個實體應當盡量少的與其他實體之間發生作用,是的系統功能子產品相對獨立,即一個類應該盡量不要知道其他類太多的東西,不要和陌生的類有太多的接觸。

如果一個類依賴另一個類太多細節,這樣導緻耦合度過高,這樣就打破了高内聚,低耦合的原則,應該将細節全部封裝好,其他的類隻需要知道這個類提供的功能即可。

6.單一職責原則

他的意思就是每個類都隻負責單一的功能,切不可太多,并且一個類應當把一個類的功能做到極緻。

下一篇: 從單例模式啟航!

繼續閱讀