設計模式之軟體架構的七大原則

2021-09-13 20:03:03 字數 966 閱讀 9353

目錄

一  開閉原則

二  依賴倒置原則

三  單一職責原則

四  介面隔離原則

五  迪公尺特法則

六  黎克特制替換原則

七  合成復用原則

是指乙個軟體實體類模板和函式應該對擴充套件開放,對修改關閉

開是指對擴充套件開放,閉則是對修改關閉;

例如:我們的版本發生更新,我們盡可能的不去修改原始碼,但是可以新增新的功能

是指高層的模組不能依賴與底層的模組應該依賴於其抽象。

通過抽象使各個類或者模組之間不相互影響,實現解耦。

故名思意乙個類,介面,方法只做一件事,達到專人做專事。

解決問題:假如乙個類負責兩個職責,一但需求變更需要更改其中乙個職責的邏輯**,有可能回導致另乙個職責的功能出現問題。

是指用多個專一介面,而不是用乙個總介面,客戶端不需要他依賴他不需要的客戶端。

設計介面的時候注意: 

乙個類對一類的依賴應該建立在最小的介面上。

建立單一介面,不要建立龐大臃腫的介面。

適量細化介面,介面中的方法盡量上。

是指乙個物件應該對其他物件保持最少了解。乙個類對其依賴的類知道的越少越好。  

拒絕和陌生人交流,只和朋友說話。

是指子類可以擴充套件父類的方法,但是不能改變父親原有的功能。

注意:1.子類可以實現父親的抽象方法,但不能覆蓋父親的非抽象方法。

2.子類中可以有自己特有的方法。

3.當子類要過載父類方法的時候(輸入/引數)要比父類更寬泛。

4.當子類要過載父類方法的時候(輸出/返回值)要比父類更嚴格或相等。

優點:1.約束繼承氾濫

2.加強程式的相容性,當發生變更可以很好的相容,提高程式的擴充套件性,可維護性。降低變更需求的風險性。

盡量使用物件組合(has-a),聚合(contanis-a),而不是使用繼承關係達到**的復用的目的。

設計模式之七大原則

學習了這麼長時間的設計模式,我們知道了設計模式是一套被反覆使用 多數人知曉的 經過分類的 設計經驗的總結。使用設計模式是為了 可重用性 讓 更容易被他人理解 保證 可靠性。俗話說 國有國法,家有家規,那在使用設計模式時都需要遵循什麼原則呢?就乙個類而言,應該僅有乙個引起它變化的原因 why如果乙個類...

設計模式之七大原則

對類來說,即乙個類應該只負責乙個職責,如類a負責兩個不同的職責 職責1,職責2 當職責1發生需求變更而改變a時,可能造成職責2執行錯誤,所以需要將類a的粒度分解為a1,a2 com.witty.designpattern.princple.singleresponsibility包 com.witt...

設計模式七大原則

open closed principle ocp 最基礎的原則,對擴充套件開放,對修改關閉強調的是用抽象構建框架,用實現擴充套件細節,可以提高軟體系統的可復用性和可維護性 dependence inversion principle,dip 程式要依賴於抽象介面,不要依賴於具體實現。即面向介面程式...