1. 軟體設計原則有哪些
1.六大原則-單一職責原則
原則思想:一個方法只負責一件事情。
描述:單一職責原則很簡單,一個方法 一個類只負責一個職責,各個職責的程序改動,不影響其它程序。 這是常識,幾乎所有程序員都會遵循這個原則。
優點:降低類和類的耦合,提高可讀性,增加可維護性和可拓展性,降低可變性的風險。
2.六大原則-里氏替換原則
原則思想:使用的基類可以在任何地方使用繼承的子類,完美的替換基類。
描述:子類可以擴展父類的功能,但不能改變父類原有的功能。子類可以實現父類的抽象方法,但不能覆蓋父類的非抽象方法,子類中可以增加自己特有的方法。
優點:增加程序的健壯性,即使增加了子類,原有的子類還可以繼續運行,互不影響。
3.六大原則-依賴倒置原則
原則思想:高層次的模塊不應該依賴於低層次的模塊,他們都應該依賴於抽象,抽象不應該依賴於具體實現,具體實現應該依賴於抽象。
描述:類A直接依賴類B,假如要將類A改為依賴類C,則必須通過修改類A的代碼來達成。這種場景下,類A一般是高層模塊,負責復雜的業務邏輯;類B和類C是低層模塊,負責基本的原子操作;假如修改類A,會給程序帶來不必要的風險。
優點:可以減少需求變化帶來的工作量,做並行開發更加友好。
4.六大原則-介面隔離原則
原則思想:類和類之間應該建立在最小介面的上。
描述:類A通過介面依賴B,類C通過介面依賴D,如果介面類A和類B不是最小的介面,則依賴的類B和類D必須要實現他們不需要的方法。
優點:提高程序的靈活度,提高內聚,減少對外交互,使得最小的介面做最多的事情。
5.六大原則-迪米特法則
原則思想:一個對象應當對其他對象有盡可能少地了解,簡稱類間解耦
描述:一個類盡量減少自己對其他對象的依賴,原則是低耦合,高內聚,只有使各個模塊之間的耦合盡量的低,才能提高代碼的復用率。
優點:低耦合,高內聚。
6.六大原則-開放封閉原則
原則思想:盡量通過擴展軟體實體來解決需求變化,而不是通過修改已有的代碼來完成變化
描述:一個軟體產品在生命周期內,都會發生變化,既然變化是一個既定的事實,我們就應該在設計的時候盡量適應這些變化,以提高項目的穩定性和靈活性。
優點:單一原則告訴我們,每個類都有自己負責的職責,里氏替換原則不能破壞繼承關系的體系。