1. 程式人生 > 其它 >JavaSE之設計模式

JavaSE之設計模式

設計模式

致命三連

  1. 什麼是:是前輩對程式碼開發經驗的總結是解決一系列問題的套路。是一套用來提高程式碼複用性,可維護性,可讀性,穩健性以及安全性的解決方案。

 

類與類之間的關係

繼承關係(extends)

繼承指的是一個類(稱為子類、子介面)繼承另外的一個類(稱為父類、父介面)的功能,並可以增加它自己的新功能的能力。

實現關係

實現指的是一個class類實現interface介面(可以是多個)的功能,實現是類與介面之間最常見的關係。

依賴關係

就是一個類A可能會用到另一個類B,所以將類B作為類A的引數傳入到類A,這個可能具有偶然性,臨時性,非常弱的關係

關聯關係

兩個類之間語義級別相同,是一種強依賴關係。他是長期性的,是平等的關係

  1. 聚合關係:has-a關係,關聯關係中的一種,是部分與整體的關係。兩類之間有各自的宣告週期。當整體不存在在時,部分還存在。

  2. 組合關係:cintains-a關係,關聯關係的特例,比聚合關係更強,同樣體現部分與整體,可兩類之間的生命週期相等,一個不存在另一個也將不存在。

 

單例模式

致命三連

  1. 什麼是:為了節省記憶體資源,保證資料內容的一致性,對某個類要求只能建立一個例項

分類

  1. 懶漢式:在呼叫功能時就建立,執行緒不安全|不同步

    建立步驟

    1. 私有的靜態的該類的引用

    2. 構造器私有化

    3. 公共的靜態的訪問方式,為了保證多個執行緒同時載入執行緒安全要在方法名上加synchronized鎖住該方法。

  2. 餓漢式:在類載入完成之後就建立物件,執行緒安全|同步 建立步驟

    1. 私有的靜態的該類的引用

    2. 構造器私有化

    3. 公共的靜態的訪問方式(newInstance)

 

代理模式

致命三連

分類

  1. 靜態代理

    1. 代理與真實角色實現相同介面

    2. 代理角色持真實角色引用

    3. 代理行為

  2. 動態代理

 

簡單工廠模式

  1. 抽象產品角色

  2. 具體產品角色

  3. 工廠角色

注意:字串比較是否相等需要使用equals方法進行比較字串的內容,建議常量放在.的前面,避免空指標異常的出現