軟體架構師設計的七大原則

2021-10-23 17:11:37 字數 1283 閱讀 2076

開閉原則是指乙個軟體實體如類、模組和函式應該對擴充套件開放,對修改關閉。所謂開閉,也真是對擴充套件和修改兩個行為的乙個原則。強調的是用抽象架構框架,用實現擴充套件細節。可以提高軟體系統的可復用性及可維護性。是物件導向設計中最基礎的設計原則。

目的:提高復用性和維護性

例1:我們版本更新,我盡可能不修改元**,但是可以增加新功能

依賴倒置原則是指設計**時,高層模組不應該依賴底層模組,二者都應該依賴器抽象。抽象不應該依賴細節;細節應該依賴抽象。

目的:減少類與類之間的耦合性,提高系統的穩定性,提高可讀性和可維護性,降低修改程式的帶來的風險。

例1:面向介面編口

例2:**空調,網線,**線等

單一職責是指不要存在多個一導致類變更原因。假設我們有乙個class負責兩個職責,一旦發生需求變更,修改其中乙個職責的邏輯**,有可能會導致另乙個職責功能發生故障。解決方式是分別用兩個class實現,總的來說就是乙個class/inte***ce/method只負責一項職責。

目的:減少職責的耦合性,提高可維護性。

介面 隔離原則是指多個專門的介面,而不是用單一的總介面,客戶端不應該依賴它不需要的介面。

目的:高內聚低耦合

例1:建立單一介面,不要建立龐大臃腫的擠開

例2:乙個類對乙個類的依賴應該建立在最小的介面上

例3:盡量喜歡介面,介面中的方法盡量少

迪公尺特法則是指乙個物件應該對其他物件保持最少的了解,又叫最少知道原則,盡量降低類與類之間的耦合。迪公尺特原則主要強調紙盒朋友交流,不和陌生人說話。出現在成員變數、方法的輸入、輸出引數中的類都可以稱之為成員朋友類,二出現在方法體內部來的類不屬於朋友類。

目的:降低類與類之間耦合度

黎克特制替換原則是指如果對每乙個型別為t1 的物件o1,都有型別為t2 的物件o2,使得以t1 定義的所有程式p 在所有的物件o1 都替換成o2 時,程式p 的行為沒有發生變化,那麼型別t2 是型別t1 的子型別。總而言之:子類可以擴充套件父類的功能,但不能改變父類原有的功能。

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

例2:子類可以增加自己特有的方法。

例3:過載父類的方法是,要比父類的輸入引數更寬鬆。輸出要比父類更嚴格。

合成復用原則是指盡量使用物件組合(has-a)/聚合(contanis-a),而不是基礎關係達到軟體復用的目的。

目的:更加靈活,降低類與類之間的耦合度,乙個類的變化對其他類造成的影響相對較少。

例1:aqs。

不能生搬硬套,我們要考慮人力、時間、成本、質量,不是刻意追求完美,要在適當的場景遵循設計原則,體現的是一種平衡取捨,幫助我們設計出更加優雅的**結構。

軟體架構設計的七大原則

軟體架構設計有七大原則,分別是 1.開閉原則 2.依賴倒置原則 3.單一職責原則 4.介面隔離原則 5.迪公尺特法則 最小知道原則 6.黎克特制替換原則 7.合成 聚合復用原則 下面分別具體說明 1.開閉原則 對擴充套件開放,對修改關閉 說的是,再設計乙個模組的時候,應當使這個模組可以在不被修改的前...

軟體設計原則(七大原則)

本片是自己在工作閒餘時間學習軟體設計模式所獲,在這裡歸納總結,如有不足請多多指教 說到軟體設計原則,可能很多人都會和軟體設計模式混淆,尤其是對剛工作不久的童鞋,其實軟體設計原則只是我們在軟體設計中對軟體架構,各模組之間松耦合,可重用性的一種總結的抽象。而軟體設計模式傾向於軟體架構方面,是站在全域性看...

軟體設計七大原則

軟體設計的七大原則 設計模式遵循的一般原則 1.開 閉原則 open closed principle,ocp 乙個軟體實體應當對擴充套件開發,對修改關閉.說的是,再設計乙個模組的時候,應當使這個模組可以在不被修改的前提下被擴充套件.換言之,應當可以在不必修改源 的情況下改變這個模組的行為,在保持系...