PETSHOP主要用于以下几点来取得数据, 首先我们看看客户端:
客户端:productsList.DataSource = product.GetProductsByCategory(categoryKey); 当我们查看product.GetProductsByCategory时,却转入
private static readonly IProduct dal = PetShop.DALFactory.DataAccess.CreateProduct();
public IList<ProductInfo> GetProductsByCategory(string category) {
if(string.IsNullOrEmpty(category))
return new List<ProductInfo>();
return dal.GetProductsByCategory(category);
}
private static readonly IProduct dal = PetShop.DALFactory.DataAccess.CreateProduct(); 这句话很重要,
代表着它开始取数据了, 首先我们看看PetShop.DALFactory.DataAccess.CreateProduct();
public static PetShop.IDAL.IProduct CreateProduct() {
string className = path + ".Product"; //这里是从WEBCONFIG里面取到的。
return (PetShop.IDAL.IProduct)Assembly.Load(path).CreateInstance(className); //这里采用了反射的思想,可以动态的从配置文件当中取得。
它主要是取一个类, 然候再赋予接口IProduct,这样接口就有了Product类实例的方法了,
主要的还是public class Product : IProduct 这句很重要, 完全采用了接口的技术,就是接口可以继承
类的很多方法,对哪个类进行实例化接口就有了哪个类的方法了,