乙個類應該是一組相關性很高的函式、資料的封裝!
乙個類的實現只應該因錯誤而被修改,新的或者改變的特性應該通過新建不同的類實現,新建的類可以通過繼承的方式來重用原類的**。已存在的實現類對於修改是封閉的,但是新的實現類可以通過複寫父類的介面應對變化。或者是對於拓展是開放的,對於修改是封閉的,實現的重要手段是通過抽象
所有引用基類的地方必須能透明地使用其子類的物件。核心原理是抽象,抽象又依賴於繼承這個特性
高層次的模組不依賴於低層次的模組的實現的細節的目的,依賴模組被倒置了
高層模組不應該依賴低層模組,兩者都應該依賴於抽象
抽象不應該依賴細節
細節應該依賴與抽吸nag
表現:模組間的依賴通過抽象發生,實現類之間不發生直接的依賴關係,其依賴關係是通過介面或抽象類產生的
客戶端不應該依賴它不需要的介面,另一種定義:類間的依賴關係應該建立在最小的介面上。介面隔離的原則將龐大的介面拆分成更小和更具體的介面,這樣可以使系統解耦,從而更容易重構、更改和重新部署。
乙個類應該對其它物件有最少的了解,乙個類應該對自己需要解耦或呼叫的類知道的最少,類的內部如何實現與呼叫者或者依賴者沒關係,呼叫者只需要直到它需要的方法即可。
物件導向 六大原則
舉乙個簡單的例子,登入功能。一般登入需要包括幾個基本的功能 1.登入頁面 2.接受使用者輸入 3.提交使用者輸入資料到服務端驗證 4.返回驗證結果並提示給使用者 按照單一原則我們就可以將登入功能拆分成兩個類,登入頁類和網路請求類。其實因為單一原則並不是很容易劃分,很多時候需要根據個人經驗和實際情況 ...
物件導向六大原則
先來看物件導向的六大原則吧 一 單一職責原則 二 開閉原則 三 黎克特制替換原則 四 依賴倒置原則 五 介面隔離原則 六 迪公尺特原則class imageloader 就像上面的 一樣我們把所有功能寫到乙個類中,隨著我們專案越來越大功能也越來越大,會導致這個類很龐大也很脆弱。這時候可以拆分出來每個...
物件導向六大原則
引用一段經典的話,武學的最高境界是無招勝有招 在程式設計領域,設計模式就可以認為是招數,而真正的內功心法是設計原則 下面講述一下程式設計中應該遵循的基本原則 乙個類只負責一種職責,只有這種職責的改變會導致這個類的變更。繞口一點的正統說法 不要存在多於乙個原因導致類變更 假如 類t 負責有兩種職責 p...