建立型模式、結構型模式、行為型模式。
思想:高內聚低耦合-軟體中變化的部分和不變的部分分開
用來建立物件的:單例模式、建造者模式、工廠模式、抽象工廠模式、原型模式。
描述類或者物件是怎樣互動和怎樣分配職責的:策略模式、模板方法模式、觀察者模式、迭代器模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式
用於處理類或者物件的組合:介面卡模式、裝飾模式、**模式、外觀模式、橋接模式、組合模式、享元模式。
比如:多程式讀取乙個配置檔案時,建議配置檔案封裝成物件。會方便操作其中資料,又要保證多個程式讀到的是同乙個配置檔案物件,就需要該配置檔案物件在記憶體中是唯一的。
runtime()方法就是單例設計模式進行設計的。
1,不讓其他程式建立該類物件。
2,在本類中建立乙個本類物件。
3,對外提供方法,讓其他程式獲取這個物件。
classsingle //
私有化建構函式。
private
static single s = new single(); //
建立私有並靜態的本類物件。
public
static single getinstance()
}
classsingle
private
static single s = null; //
宣告,但未實現物件。
public
static
single getinstance()
}
懶,此處會造成執行緒不安全(執行緒是cpu分片,如果還未執行完,另乙個執行緒也執行,那麼就是兩個物件。)
classsingle
private
volatile
static single s = null; //
volatile
public
static
single getinstance()}}
}
設計模式 工廠設計模式 一
工廠設計模式 就是當我們需要批量建立多種型別的物件時 需要用到,主要分為三種形式 1 靜態工廠,也叫簡單工廠模式,就是你傳乙個型別我建立對應的型別,spring中主要用到的就是這種模式 不多說,直接上 通用的產品介面,product 這個看需求,也可以定義為抽象類,根據你的物件之間的關係來定的 pa...
設計模式(一) 設計模式概述
模擬建築學 質量可以客觀評價 我們可以得到設計模式背後的觀點 軟體系統的質量可以客觀度量。模式的描述 模式的名稱 模式的目的,即要解決的問題 實現方法 為了實現該模式我們必須考慮的限制和約數因素 gof 四人幫 的工作是將已有的模式識別出來。而非創造 模式的關鍵特徵 專案描述 名稱每個模式都有唯一用...
設計模式一 模板設計模式
它的應用場景是同乙個介面的不同實現類存在公共 這樣就可以用模板方法模式將不變部分封裝在模板類中,將可變部分作為抽象方法留給子類中,從而復用頂級邏輯的 1 使用模板方法模式統一呼叫外部服務介面 2 使用模板方法模式對外提供的統一介面服務 3 使用模板方法模式實現通知服務 我們可以將固定流程寫到父類中,...