單一職責原則是我們設計模式中最簡單也是最容易理解的物件導向設計原則,我們先來看一下單一職責原則的定義:
單一職責原則:就乙個類而言,應該僅有乙個引起它變化的原因。通俗來講就是乙個類它只負責單一的功能,切不可做的太多。
在軟體中乙個類(大到乙個模組,小到乙個方法)如果所具有的功能越多,那麼它就越複雜,復用性就越低,而且各個功能模組之間的耦合度也會隨之上公升。這樣長此以往下去會對我們的系統造成很嚴重的後果。所以,我們需要按照單一職責原則,將不同的職責封裝到不同的類中,實現高內聚、低耦合,這樣如果我們修改了乙個功能模組,並不會對其他的模組造成影響,增強了系統的健壯性。
開閉原則是我們在軟體可復用軟體的基礎,作為乙個重要的設計模式,同樣讓我們先來看看開閉原則的定義
開閉原則:是指軟體實體應該可以擴充套件,但是不可修改。我對與這句話的理解是,對擴充套件開放,對修改關閉,我們在進行需求變更的時候,應該在不修改原有的**的情況下對程式進行相應的擴充套件。
在開發的過程中,我們往往都會遇到乙個很重要的問題,就是需求變更。當我們在面對新的需求的時候,我們首先應該保證的是原有系統的穩定性,通俗的講就是,不能你改了乙個bug,然後出來三個bug,這樣是不被允許的。
這時候我們的開閉原則就登場了。對修改關閉,對新增開放,在保證了原有功能穩定性的情況下,實現了對新需求的擴充套件。
實現開閉原則的乙個基本要素就是抽象化,我們可以在開發的過程中,可以猜測一下這個模組最有可能發生變化的種類,然後通過抽象來隔離這種變化。我們不是神,沒辦法完全猜到這個模組會發生什麼變化,所以我們可以在發生一些小變化的時候,去想辦法應對更大的變化。等到變化的時候立即採取行動。同樣切記一點,過猶不及。
設計模式 六大設計原則
剛剛結束設計模式學習時,感覺哪哪的抓不住重點,雖然之前師傅給勾了寫比較重要的設計模式,但是給我的感覺設計模式怎麼全都乙個樣子。通過對一些文章的瀏覽,簡單的對設計原則總結了一下。設計模式,就是設計範例。是經典問題的解決方案,是可以讓學習者舉一反三的,有研究價值 有交流價值的例子。設計模式的本質是物件導...
設計模式 六大設計原則
solid s 單一職責原則 o 開放封閉原則 l 黎克特制代換原則 i 介面隔離原則 d 依賴倒轉原則 故事 手機拍攝ufo 定義 就乙個類而言,應該僅有乙個引起它變化的原因。通俗講就是我們不要讓乙個類承擔過多的職責。如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或...
設計模式六大設計原則之開閉原則
開閉原則 1 定義 乙個軟體實體如類 模組和函式應該對擴充套件開放,對修改關閉。2 問題由來 在軟體的生命週期內,因為變化 公升級和維護等原因需要對軟體原有 進行修改時,可能會給舊 中引入錯誤,也可能會使我們不得不對整個功能進行重構,並且需要原有 經過重新測試。3 解決方案 當軟體需要變化時,盡量通...