簡單工廠設計模式,又叫做靜態工廠方法(static factory method)模式,就是由乙個工廠類根據傳入的參量決定建立出哪一種產品類的例項。
簡單工廠模式是工廠模式家族中最簡單實用的模式。簡單工廠設計模式是針對於建立類的物件的。
一般,簡單工廠涉及到三個 角色/類:
一、工廠類:工廠類是簡單工廠的核心,通過工廠類可以分別出的客戶需求,在呼叫其子類。
二、抽象產品類:這個類是由工廠方法模式所建立的物件的父類,一般由介面和抽象類實現。
三、具體產品類:工廠方法模式所建立的任何物件都是這個角色的例項,由具體類實現。
下面我們用簡單工廠設計乙個訂餐器:如圖
首先,定義乙個pizza類,該類為抽象類,用於儲存客戶點選獲取到的pizza型別,**如下:
1其次,在定義兩個string類,分別裝pizza的種類,並用return返回值,**如下:namespace
day08_0100.簡單工廠
27 }
1namespace
day08_0100.簡單工廠29
}10 }
1之後,是最為關鍵的,就是建立工廠類(pizzafactory),該類包含乙個靜態的方法,該方法的返回值型別必須是抽象類;namespace
day08_0100.簡單工廠29
}10 }
工廠類根據傳入的引數決定建立出哪一種產品類的例項。
示例**:
1最後是在窗體中呼叫,在button控制項click事件下寫如下**:namespace
day08_0100.簡單工廠217
return
pizza;18}
19}20 }
1如此,用簡單工廠訂購pizza已經完成。private
void btnok_click(object
sender, eventargs e)
211 }
單列設計模式
單列模式:顧名思義就是乙個物件只能初始化一次;
作用:減少開闢記憶體空間,節約記憶體開銷
1class
program2
10 }
因為a物件在記憶體堆中開闢了a1和a2兩個記憶體空間 所以他們的記憶體位址不可能相同。那麼,怎樣才能開闢乙個空間,而不是兩個或者多個呢?那就需要使用到單列設計模式了
下面是a類的定義:
1public
classa2
8public
static
a getsingleinstance()914
return
a;15
} 16 }
在執行下列**:
1將構造方法設為私有方法,不能new。class
program2
13 }
C 設計模式 單列模式
單例模式是設計模式中最簡單和最容易理解的模式,需要注意的地方只有乙個,第一次例項化的時候要確保是執行緒安全即可。第一種實現 多執行緒不安全單利 public class single public static single getinstance 第二種實現 多執行緒安全單利 每次要加鎖浪費資源 ...
單列模式 和 操作XML方法 和 簡單工廠模式
一.單列模式 1 首先,該singleton的建構函式必須是私有的,以保證客戶程式不會通過new 操作產生乙個例項,達到實現單例的目的 2 因為靜態變數的生命週期跟整個應用程式的生命週期是一樣的,所以可以定義乙個私有的靜態全域性變數instance來儲存該類的唯一例項 3 必須提供乙個全域性函式訪問...
設計模式 簡單工廠模式(C )
一.簡單工廠模式又稱靜態工廠方法模式 static factory method 它不是gof 所講的23種設計模式之一,但是它卻是我們在編碼過程中經常使用的方法之一。1.靜態工廠方法統一管理物件的建立。靜態工廠方法通過傳入的引數判斷決定建立哪乙個產品的例項,封裝了物件的建立,客戶端只管消費,實現了...