從今天(2018-03-21)開始,我將淺談下設計模式,這個話題肯定很多人談過。由於我知識廣度和深度均有不足,如有不合理的地方請多多包涵。在此只希望能幫助更多同行的小白,藉此本人感覺很慰藉。當談完設計模式後,我將開源一個完全自己寫的DAL層,包括orm,連接池,線程,事務,MSIL,設計思路等。閑話 ...
從今天(2018-03-21)開始,我將淺談下設計模式,這個話題肯定很多人談過。由於我知識廣度和深度均有不足,如有不合理的地方請多多包涵。在此只希望能幫助更多同行的小白,藉此本人感覺很慰藉。當談完設計模式後,我將開源一個完全自己寫的DAL層,包括orm,連接池,線程,事務,MSIL,設計思路等。閑話少說,先說設計模式。
第一談:簡單工廠模式
1.創建一個對象的方法
對象就是占空間的東西,從哲學的角度考慮,在空間上存在的東西就是對象。
把空間比成記憶體。孤零零的對象沒有研究價值,在托管代碼中,孤魂野鬼的對象早晚被GC回收。像行屍走肉的人,孤魂野鬼的人,活著其實已經死了。所以對象需要被引用,正如人需要信仰。
創建一個對象,可以直接new(通過構造函數直接“構造”),也可以有一個專一東西的專門創建。
比如我需要一個筆記本,一種辦法,我先買筆記本的各個零件,然後自己組裝。另一種辦法,我向一個工廠訂一臺筆記本,有工廠代生產。
1.機械師筆記本 M411=new 機械師筆記本(零件1,零件2,。。。);
2. public class 筆記本
{
public CPU
{
get;set;
}
public RAM
{
get;set;
}
public virtual void 組裝()
{
}
}
public class 聯想筆記本:筆記本
{
public override void 組裝()
{
}
}
public class 機械師筆記本:筆記本
{
public override void 組裝()
{
}
}
public class XXX工廠
{
public static 筆記本 獲取筆記本(string name)
{
private 筆記本 本本=null;
switch(name)
{
case "聯想筆記本":
本本=new 聯想筆記本();
本本.組裝();
return 本本;
...
}
}
}
//想要聯想筆記本
筆記本 本本=XXX工廠.獲取筆記本("聯想筆記本");
這樣創建一個對象,可以通過工廠集中來管理。
過了12點了,不能再熬夜了,寫的有些粗糙,純手寫,望大家多多包涵,設計模式就是一種解決一類問題的思想,重在理解思想。
晚安