本文主要是介绍浅析对PetShop4.0的工厂模式的理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近几天在看被传为经典的PetShop4.0,感觉收获还是挺大的
Model层是数据库的实例化,对应数据库实体,写起来比较简单。
IDAL类,是数据访问的抽象接口,为了统一数据访问的形式,是一个标准。
SQLServerDAL是数据访问的具体实现,继承了IDAL接口,而DButility是对数据库的基本的增删改查操作。
数据库访问的配置文件都写在config文件中,为了方便更改。
由于对反射和工厂模式没有接触过,看了部分博客代码,照着写了一小段DALFactory的DataAccess的代码
//读取配置文件private static readonly string path=ConfigurationManager.AppSettings["WebDAL"];//通过反射方式,创建实例public static PetShop.ICategory.ICategory CreateCategory(){string classname = path + ".CategoryDAL";//classname = " PetShop.SQLSeverDAL.CategoryDAL";return (PetShop.ICategory.ICategory)Assembly.Load(path).CreateInstance(classname); }
然后在测试类中,调用工厂类,并传递给接口
//通过工厂类创建方法PetShop.ICategory.ICategory factoryDAL = DALFactory.DataAccess.CreateCategory();IEnumerable<Model.Category> Ilist= factoryDAL.getCategories();Console.WriteLine("这些实例是通过工厂模式创建的:");foreach (Model.Category ca in Ilist){Console.WriteLine("ID:{0},Name:{1},Desc:{2}",ca.CategoryId,ca.CategoryName,ca.Description);}
经过测试,可以输出。
这篇关于浅析对PetShop4.0的工厂模式的理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!