初始設計模式1——六大設計原則

設計模式是一套由軟件界前輩們總結出的可以反覆使用的編程經驗,旨在提高代碼的可重用性,提高系統的可維護性,以及解決一系列複雜問題。設計模式包括6大設計原則23種種設計模式

6大設計原則:

單一職責原則SRP

應該有卻僅有一個原因引起類的變更,即類最好只實現一種功能。高內聚
單一職責的實現方式是一個職責一個接口。
單一職責適用於類和接口,同樣適用於方法,一個接口應該只有一個職責,一個方法也應該只做好一件事。

里氏替換原則LSP

所有能使用父類的地方必須能透明地使用其子類的對象。

子類必須完全實現父類的方法,如果子類不能完整實現父類的方法,則建議使用依賴,聚集,組合等關係代替繼承。

覆蓋或實現父類的方法時,輸入參數可以被放大,輸出結果可以被縮小。

依賴倒置原則DIP

實現類之間不發生直接的依賴關係,依賴關係通過接口或抽象類產生
接口和抽象類不應依賴實現類
實現類依賴接口或抽象類

每個類儘量都有接口或抽象類,變量的表面類型儘量是接口或抽象類,任何類都不應該從具體類派生。

每個類儘量都有抽象,變量的表面類型儘量是抽象

依賴導致就是使用抽象間的依賴取代具體對象的依賴

接口隔離原則ISP

類間的依賴關係應該建立在最小的接口上,即接口儘量細化,接口內方法儘可能少,提供給每個模塊應該是單一接口

拆分接口時要滿足單一職責原則,不能過度拆分

接口要高內聚,減少對外交互

客戶端不應該依賴它不需要的接口

迪米特原則LOD

對象應對其他對象有最少的瞭解,只與直接的朋友交流

出現在成員變量,方法的輸入輸出函數中的類稱爲成員朋友類,而出現在方法體內部的類不屬於朋友類

方法儘量不引用類中不存在的對象

如果一個方法放在本類中,既不增加類間關係,也對本類不產生負面影響,就放置在本類中。
類間解耦,弱耦合,高內聚

開閉原則OCP

一個軟件實體如類,模塊和函數應該對擴展開放,對修改關閉

儘量通過擴展軟件實體的行爲來實現變化,而不是修改已有代碼

參數類型,引用對象儘量使用抽象




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章