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