三层架构学习一 各个解决方案的分析
2009-09-24 11:31
120 查看
一.解决方案需要添加的项目
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
{
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);
}
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;
{}
private int _id;
private string _productionid;
//属性的声明
public int ID
{
set{_id=value;}
get{return _id;}
}
}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);
}
相关文章推荐
- 华为3COM网络流量分析解决方案学习(三)
- 学习笔记之BlockingQueue及其各个实现的分析整理
- 【iOS学习】小红点解决方案思路分析
- 记录学习中遇到的问题和解决方案,随着技术提高不断分析心得
- 华为3COM网络流量分析解决方案学习(二)
- Androin学习笔记二十六:wifi各个类简要分析
- 华为3COM网络流量分析解决方案学习 推荐
- 记录学习中遇到的问题和解决方案,随着技术提高不断分析心得
- Dynamic CRM 2015学习笔记(5)CRM 2015 导入 OData Query Designer 解决方案
- POCO C++库学习和分析 -- 内存管理 (一)
- CassiniDev源码学习 - 可替代IIS的单机Web Form解决方案
- NSString特性分析学习
- Android LayoutInflater原理分析,带你一步步深入了解View(一) ---站在巨人的肩膀上学习总结
- hadoop学习(四)Map/Reduce数据分析简述-示例-电话通讯清单
- php菜刀分析学习
- 数据结构与算法学习总结-算法分析基础
- 项目管理学习笔记之三.绩效分析
- 分析函数之分析语句学习--Over(Analytic_clause)
- Android大图片裁剪终极解决方案 原理分析
- golang学习遭遇错误原因分析续