【設計模式】設計模式原則

  • 代碼的重用性:相同功能的代碼,不用多次編寫

  • 可讀性:編程的規範性,便於其他程序員的閱讀和理解

  • 可擴展性:當我們需要增加新的功能是,非常的方便

  • 可靠性:當我們增加新的功能後,對員原來的功能沒有影響

  • 使程序呈現高內聚,低耦合的特性

    設計模式的七大原則:

  • 單一職責原則

    • 一個類只有一個作用,只負責一方面的事情,最次一個類中的一個方法,只能解決一個問題
    • 降低類的複雜度
    • 提高類的可讀性,可維護性
    • 降低變更引起的風險
  • 接口隔離原則

    • 兩個類實現一個接口,但不是必要實現接口中的所有方法(即使實現了也不會使用),這時應該將接口進行拆分,比如可以將都要使用的共同的方法放在基類接口中,將實現類各自需要實現的方法分在兩個接口中,這就是接口隔離原則
  • 依賴倒置原則:

    • 高層模塊不應該依賴底層模塊,二者都應該依賴其抽象
    • 抽象不依賴細節,細節依賴抽象
    • 面向接口編程,通過接口或父類進行對象引用
    • 相對於細節,抽象的東西更具有穩定性
    • 通過抽象制定規範,不設計具體操作,將具體實現交給實現類
  • 依賴關係傳遞的三種方式

    1. 接口傳遞
    2. 構造方法傳遞
    3. settter方式傳遞
  • 里氏替換原則:

    • 在使用繼承時,會給代碼帶來侵入性
    • 所有引用基類的地方都必須能夠透明的使用其子類的對象
    • 在使用繼承時,儘量不要重寫父類的方法,避免在調用子類方法時,本想調用父類方法,無意中調用了子類重寫的方法
  • 迪米特原則(最少知道原則):

    • 類與類關係越密切,耦合度越大
    • 減少與間接朋友的關聯,儘量只與直接朋友通信
    • 直接朋友包括成員變量,方法入參,方法返回值
    • 陌生的類儘量不要以局部變量的形式出現
    • 核心是降低類之間的耦合
  • 開閉原則

    • 對擴展開放,對修改關閉。在需求發生改變時,對提供方來說,需要進行修改,但是對使用方來說,儘量不做任何修改,也保證代碼可用
    • 軟件需求變化時,儘量通過擴展實體的方式來實現,而不是通過修改已經存在的代碼 7、合成複用原則
    • 儘量通過使用聚合、組合來代替繼承

    核心思想

  • 找出應用中可能需要變化之處,把它們獨立出來,不要和那些不需要變化的代碼混合在一起

  • 針對接口編程,而不是針對實現編程

  • 爲了交互對象之間的鬆耦合設計而努力

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章