摘自《大話設計模式》一書。
程式入口:
1mainusing
system;
2using
system.collections.generic;
3using
system.text;
4using
system.reflection;
5using
system.configuration;67
namespace
抽象工廠模式827
}28 }
工廠方法:
1資料實體類user和department:class
dataaccess211
12public
static
idepartment createdepartment()
1317 }
1class
user27
set 8}
910private
string
_name;
11public
string
name
1214
set 15}
16 }
1資料操作:class
department27
set 8}
910private
string
_deptname;
11public
string
deptname
1214
set 15}
16 }
1inte***ce
iuser
2
1sqlserveruser : iuserclass
sqlserveruser : iuser27
8public user getuser(int
id)9
13 }
1accessuser : iuserclass
accessuser : iuser27
8public user getuser(int
id)9
13 }
1inte***ce
idepartment
2
1sqlserverdepartment : idepartmentclass
sqlserverdepartment : idepartment27
8public department getdepartment(int
id)9
13 }
1accessdepartment : idepartmentclass
accessdepartment : idepartment27
8public department getdepartment(int
id)9
13 }
以前總是把iuser介面這樣的操作也寫到資料庫檢視中,老是感覺不和諧。從抽象的角度看,資料庫操作並不是實體user的必須方法,而且我也不是什麼時候都需要呼叫資料的,如果把實體中增加了資料庫操作方法,呼叫者惡意呼叫多麻煩!這裡再分乙個抽象的iuser專門管理資料庫操作還是很好的。
設計模式筆記 工廠方法模式
1.意圖 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。factory method使乙個類的例項化延遲到其他類 2.別名 虛構造器 3.動機 框架使用抽象類定義和維護物件之間的關係。這些物件的建立通常也由框架負責 4.適用性 在下列情況下可以使用factory method模式 當乙個類不...
設計模式筆記 工廠方法模式
定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。抽象產品類 public abstract class product public abstract void method2 具體產品類 public class concreteproduct1 ext...
(Java)設計模式學習筆記 工廠方法模式
工廠方法模式 定義乙個用於建立物件的介面,讓子類決定例項化哪個類 使用場景 任何需要生成複雜物件的地方,都可以使用工廠方法模式,複雜物件適合使用工廠模式,用new就可以完成建立的物件無需使用工廠模式。使用 建立乙個工廠類,利用工廠類來讓客戶端選擇例項化哪乙個產品類,簡單工廠可以不使用抽象類,而把構建...