三层架构学习一 各个解决方案的分析
一.解决方案需要添加的项目
BLL
业务逻辑层
该层复制系统领域业务的处理,负责逻辑性数据的生成、处理及转换,负责判断流入的逻辑性数据的正确性及有效性。
添加一个Product类,用于实现对产品数据的逻辑处理。
public class Product
{
public void Add(…)
{
DAL.Add(…) //有些方法就是简单的直接调用DAL层中的方法
}
}
Common
通用类库
DAL
数据访问层
采用数据库操作类库来直接执行SQL命令。针对Model中的Product类,同样声明一个Product类,实现Add、Delete、Updte、GetModel和GetList方法。
DBUtility
数据库操作类
Model
数据实体
一般用于映射数据库的数据表或视图,用以描述业务中客观存在的对象,Model实体类将贯穿Web、BLL、DAL三层,并在三层之间进行调用和传递。以Product类为例。
public class Product
{
public Product()
{}
private int _id;
private string _productionid;
//属性的声明
public int ID
{
set{_id=value;}
get{return _id;}
}
}
Web
表示层
该层会调用Model层和BLL层,将Model赋值后传递给BLL或者从BLL接受一个返回值Model。
protected void btnAdd_Click(object sender,EventArgs e)
{
//得到控件的输入值
string CategoryId=this.txtCategoryId.Text;
…
//赋值一个业务实体Model
Product model=new Product();
mode.CategoryId=CategoryId;
…
//保存数据
BLL.Product bll=Bll.Product(); //此处声明一个BLL层对象,并执行该层的方法.
bll.Add(model);
}