一.简介
主要分为:界面层(User Interface layer),业务逻辑层(Business Logic Layer),数据访问层(Data access layer)
1.作用
界面层(UI) | 提供界面,用于与用户交互 | 包含窗体和自定义控件 |
业务逻辑层(BLL) | 处理业务逻辑,用于UI层调用 | 主要负责对数据层的操作 |
数据访问层(DAL) | 访问数据库的类,用于BLL层调用 | 数据库,二进制文件,文本文档,XML文档等 |
另外加上,实体层Models,用于抽象出实体类
分层目的:高内聚低耦合
例:需要更换界面情况下,直接更换UI层就可以了
2.关系图
二.搭建
1.创建空白解决方案
2.创建BLL
3.创建DAL层
4.创建Models
5.创建UI层
6.关联各层之间的关系
关系图:
(1)UI引用BLL和Models
(2)BLL引用DAL和Models
(3)DAL引用Models
7.将UI项目设置为启动项
三.规则
⒈ 最关键的,UI层只能作为一个外壳,不能包含任何业务逻辑(BizLogic)的处理过程
⒉ 设计时应该从BLL出发,而不是UI出发. BLL层在API上应该实现所有BizLogic,以面向对象的方式
⒊ 不管数据层是一个简单的SqlHelper也好,还是带有Mapping过的Classes也好,应该在一定的抽象程度上做到系统无关
⒋ 不管使用COM+(Enterprise Service),还是Remoting,还是WebService之类的远程对象技术,不管部署的时候是不是真的分别部署到不同的服务器上,最起码在设计的时候要做这样的考虑,更远的,还得考虑多台服务器通过负载均衡作集群
参考:
https://baike.baidu.com/item/%E4%B8%89%E5%B1%82%E6%9E%B6%E6%9E%84/11031448?fr=aladdin