六大原則:
書上這麼說,有些不太懂。
一,單一職責原則(single responsibility princple---srp)
定義:應該有且僅有乙個原因引起類的變更。(there should never be more than one reason for a class to change)
適用於介面,類,方法設計。
在實際運用中因多種因素很難劃分單一職責。劃分過細會增加設計複雜度,成本等。因專案,環境而異。
優點:類的複雜性降低,可讀性高,可維護性高,可擴充套件
二,黎克特制替換原則(liskov substitution princple--lsp)
定義:繼承,子類可以替換父類,父類不一定能替換子類。
優點:**重用,減少建立類的工作量,子與父不同多型,擴充套件性,開放性
缺點:降低**靈活性,增強耦合,繼承是侵入性
繼承規範:1,子類必須完全實現父類的方法
2,子類可以有自己的個性
3,覆寫或實現父類的方法時輸入引數可以被放大
4,覆寫或實現父類的方法時輸出結果可以被縮小(感覺是繼承的語法規則)
書中建議盡量避免子類的個性 使用子類時缺乏類替換標準
三,依賴倒置原則(dependence inversion princple--dip)
定義:高層模組不依賴底層模組,兩者都依賴其抽象
抽象不依賴細節,細節依賴抽象 概括就是面向介面程式設計(沒啥經驗體會)
四,介面隔離原則()
定義:客戶端不依賴不需要的介面
類間的依賴建立在最小的介面上
乙個對外介面對應乙個模組(不提供不需要的方法不管是否按規矩不呼叫)
類間同上不提供多餘的介面方法,也即介面的細分(單一職責)。細分適度又是p
五,迪公尺特法則
定義:乙個物件應該對其他物件有最少的了解,(只關心自己用的其他一概不關心)
核心觀念就是類間解耦,弱耦合,提高復用,其結果產生大量的中轉或跳轉類 適可而止
六,開閉原則
變化時新增而不是修改,預留擴充套件介面,上述五大原則是其具體實現。
言而總之,總而言之,需求變了,你要改,系統要經的住,不能改崩了,改的還要少,越多越危險 穩定
設計模式之六大原則
無規矩不成方圓,同樣的設計模式也有其內定的一些規則,這些規則使得我們更加方面的使用設計模式的各種模式。以下簡介六個原則 1 單一職責原則 定義 就乙個類而言,應該僅有乙個引起它變化的原因。解釋 如果乙個類承擔的職責過多,則就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責...
設計模式之 六大原則
設計模式中,有六大經典的原則,以下是本人在學習過程中總結的,學習過程中參考了 大話設計模式 這本書,以下為個人見解,如有不當,請大家指出。以便幫助後學習的朋友更簡單的理解和學習。1 單一職責原則 single responsibility principle 顧名思義,單一職責,就是讓系統中的每個類...
設計模式之六大原則
設計模式 6大原則 概念 就乙個類而言,應該僅有乙個引起它變化的原因。解釋 所謂的單一職責,就是說乙個類能完成的功能只有乙個,如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能力。自我感覺乙個類就跟乙個人一樣,乙個人的精力是有限的,如果擔任過...