面向對象設計原則: 單一職責原則 SRP : 一個類或者行為只做一件事 。 降低代碼冗餘,提高可重用性,可維護性,可擴展性,可讀性 使用組合形式 單一職責原則 SRP : 一個類或者行為只做一件事 。 降低代碼冗餘,提高可重用性,可維護性,可擴展性,可讀性 使用組合形式 里氏替換原則 LSP : 所 ...
面向對象設計原則: 單一職責原則 SRP : 一個類或者行為只做一件事 。 降低代碼冗餘,提高可重用性,可維護性,可擴展性,可讀性 使用組合形式 里氏替換原則 LSP : 所有引用基類的地方必須能夠透明的使用子類。 如果類型S 的對象O1 ,都有類型為T 的對象O2 , 那麼T 定義的所有程式在所有對象O1 都替換成O2 時, 程式沒有變化。 爸爸能幹的兒子都能幹,引用爸爸的地方一定可以引用兒子。 依賴倒置原則 DIP : 屬於里氏替換原則的補充 面向抽象編程: 關鍵詞: 介面,抽象 依賴: 一個對象O1 需要實現某一個功能時必須讓另一個對象O2的某一個功能先實現,那麼他們就存在依賴關係O1依賴於O2。 依賴註入 IOC: 將依賴的部分O2 作為O1 的屬性註入,註入一定是抽象的。 介面隔離原則 ISP : 客戶端不應該依賴於那些他不需要的介面 一旦一個介面太大,則需要將他分隔成一些更細小的介面,使用該介面的客戶端只需要知道與之相關的方法即可 迪米特裡法則 LOD : 每一個軟體單位對其他單位都只有最少的知識,而且局限於那些與本單位密切相關的軟體單位 不要和陌生人說話: 當前對象this 以參數形式傳入當前對象方法中的對象 當前對象的成員對象 如果當前對象是一個集合,那麼集合中的元素都屬於朋友 當前對象自己創建的對象 開閉原則 OCP : 對擴展開放,對修改關閉。 EVP --- 對可變性封裝原則:找到系統中可能引起系統改變的因素,並將它封裝起來 聚合復用原則 / 合成復用原則 ARP/CRP 儘量使用對象組合,而不是繼承來達到復用的目的 黑箱復用,耦合度相對較低,選擇性的調用成員對象的操作,可以在運行時動態進行 設計模式之禪 第二版-1.pdf
9.9 MB