前言:
利用反射來創建用戶表,前面用抽象工廠,簡單工廠。等等做過要實例化哪個類的選項,這次試用反射來實現。
優點:
1 減少耦合性
2 方便替換
3 符合開放封閉性原則
格式:
Assembly.Loga(“程序集名稱”).CreateInstance(“命名空間.類名稱”)
解釋:
程序集是給反射起的名字
類名是你要實例化的哪個具體類
客戶端的用法:
抽象工廠
User user = new User();
Department dept = new Department();
//區別
IFactory factory = new AccessFactory();
IUser iu = factory.CreateUser();
iu.Insert(user);
iu.GetUser(1);
IDepartment id = factory.CreateDepartment();
id.Insert(dept);
id.GetDepartment(1);
Console.Read();
反射
User user = new User();
Department dept = new Department();
//區別
IUser iu = DataAccess.CreateUser();
iu.Insert(user);
iu.GetUser(1);
IDepartment id = DataAccess.CreateDepartment();
id.Insert(dept);
id.GetDepartment(1);
Console.Read();
其他的還是和前面是一樣的,就是在實例化和具體創建對象的具體方法換了。前面使用的是抽象工廠模式,在這使用的是 反射的方式實現的。