Products.aspx 在前面 petshop学习笔记(2) 已经说明是如何是经过类 Product 的GetProductsByCategory方法进行获取数据的
Product这个类又是怎么来获取数据的?我想慢慢来了解一下!
PetShop采用的是三层结构进行划分各个职能,前面了解的那些是表示层,这一篇是表示层经业务逻辑层来读取数据库的一个示例。典型的三层结构。
PetShop在这里也使用了很多工厂模式,所以要读明白里面的东西也至少要知道这种设计模式,我看了之后还是一头雾水,下面就以我粗鄙的想法自身去了解一下罗.网上也有很多关于这个模式的东西,都写得相关不错。我这里就简化一下罗。
抽象厂工,具体工厂,抽象产品,具体产品,客户端,具体的内容想要理解我之前转的文章里有写到,不例外,product也是使用这种模式去读取数据库的。
一、表示层
Web项目里的Controls文件夹下的ProductsControl.ascx
看他的代码:
protected void PageChanged(object sender, DataGridPageChangedEventArgs e) {
productsList.CurrentPageIndex = e.NewPageIndex;
string categoryKey = Request.QueryString["categoryId"];
Product product = new Product();
productsList.DataSource = product.GetProductsByCategory(categoryKey);
productsList.DataBind();
}
protected void Page_Load(object sender, EventArgs e) {
this.CachePolicy.Dependency = DependencyFacade.GetProductDependency();
}
由于这一章主要是来理解三层的结构及工厂模式开发,等下一章再来了解一下具体的缓存技术,所以我们先不用看Page_Load,