物件導向設計原則為支援可維護性復用而誕生,這些原則蘊含在很多設計模式中,它們是從許多設計方案中總結出的指導性原則。
最常見的7種物件導向設計原則如下表所示:
使用頻率
單一職責原則
(single responsibility principle, srp)
乙個類只負責乙個功能領域中的相應職責
開閉原則
(open-closed principle, ocp)
軟體實體應對擴充套件開放,而對修改關閉
黎克特制代換原則
(liskov substitution principle, lsp)
所有引用基類物件的地方能夠透明地使用其子類的物件
依賴倒轉原則
(dependence inversion principle, dip)
抽象不應該依賴於細節,細節應該依賴於抽象
介面隔離原則
(inte***ce segregation principle, isp)
使用多個專門的介面,而不使用單一的總介面
合成復用原則
(composite reuse principle, crp)
盡量使用物件組合,而不是繼承來達到復用的目的
迪公尺特法則
(law of demeter, lod)
乙個軟體實體應當盡可能少地與其他實體發生相互作用
設計模式 物件導向設計原則
軟體的可維護性和可複製性是兩個非常重要的軟體質量屬性 物件導向物件設計原則是設計模式學習的基礎。每乙個設計模式都符合乙個或者多個物件導向設計原則 單一職責原則是最簡單的物件導向設計原則,它用於控制類的粒度大小 單一設計原則 乙個物件應該只包含單一的職責,並且該職責被完整的封裝在乙個類裡 這也意味著 ...
設計模式 物件導向設計原則
世界是具體的,認知是抽象的。像自然界中的生物 植物 動物乙個個名詞,就是對一系列具體個體抽象出來的稱謂,而魚 老虎 樹等就是乙個個實在的具體。哦,也許你會說,樹也是對一系列具體個體的抽象出來的稱謂,對也不對,對是因為樹確實是一系列具體個體的抽象稱謂,不對是因為照這個邏輯下去,就會陷入死迴圈,直到小到...
設計模式 物件導向設計原則
類和方法的職責應該盡可能是單一的。其核心思想是 乙個類,最好只做一件事,只有乙個引起他的變化。對擴充套件開放,對修改關閉。繼承 依賴於抽象。a,高層次模組不依賴於低層次模組,他們都應該依賴於抽象。b,抽象不依賴於具體,具體應該依賴於抽象。對介面程式設計,對基類程式設計 使用小而專的介面,介面的定義盡...