單一職責(single responsibility),類或者物件最好是只有單一職責,在程式設計中如果發現某個類承擔著多種義務,可以考慮進行拆分。
開關原則(open-close, open for extension, close for modification),設計要對擴充套件開放,對修改關閉。換句話說,程式設計應保證平滑的擴充套件性,盡量避免因為新增同類功能而修改已有實現,這樣可以少產出些回歸(regression)問題。
黎克特制替換(liskov substitution),這是物件導向的基本要素之一,進行繼承關係抽象時,凡是可以用父類或者基類的地方,都可以用子類替換。
介面分離(inte***ce segregation),我們在進行類和介面設計時,如果在乙個介面裡定義了太多方法,其子類很可能面臨兩難,就是只有部分方法對它是有意義的,這就破壞了程式的內聚性。對於這種情況,可以通過拆分成功能單一的多個介面,將行為進行解耦。在未來維護中,如果某個介面設計有變,不會對使用其他介面的子類構成影響。
依賴反轉(dependency inversion),實體應該依賴於抽象而不是實現。也就是說高層次模組,不應該依賴於低層次模組,而是應該基於抽象。實踐這一原則是保證產品**之間適當耦合度的法寶。
物件導向設計基本原則
物件導向設計不外乎遵循五大原則 第一 單一職責原則 即 乙個類應該只負責單一的職責,而將其餘的職責讓其他類來承擔,這樣每個類之間相互協調來完成一件任務。第二 開閉原則 即對擴充套件是開放的,對修改是封閉的,因此需要注重抽象的運用 第三 替換原則 子類應該可以替換在父類出現的任何地方 第四 依賴倒置原...
物件導向設計基本原則
物件導向設計不外乎遵循五大原則 第一 單一職責原則 即 乙個類應該只負責單一的職責,而將其餘的職責讓其他類來承擔,這樣每個類之間相互協調來完成一件任務。第二 開閉原則 即對擴充套件是開放的,對修改是封閉的,因此需要注重抽象的運用 第三 替換原則 子類應該可以替換在父類出現的任何地方 第四 依賴倒置原...
物件導向的5個基本設計原則
1.單一職責原則 single resposibility principle 其核心思想為 乙個類,最好只做一件事,只有乙個引起它的變化。是低耦合 高內聚在物件導向原則上的引申。2.開放封閉原則 open closed principle 其核心思想是 軟體實體應該是可擴充套件的,而不可修改的。也...