(转)三层架构各层关系分析比较及其约定
为达高性能,网站使用了三层架构;以下是一些个人编写的内部教育训练资料;供参考。
GUI:表现层,BLL:业务逻辑层,DAL:数据访问层
GUI:表现层,BLL:业务逻辑层,DAL:数据访问层
| 三+层架构各层关系分析比较及其约定 | ||||||
|
层 |
GUI |
BLL |
DAL |
数据库 |
备注 |
|
|
分析项目 |
界面<->GUI |
GUI<->BLL |
BLL<->DAL |
DAL<->数据库 |
||
| 信息传递方法 | 方法 |
|
● |
● |
||
| 属性 |
● |
● |
||||
| 字段 |
|
● |
● |
|||
| 事件 |
● |
● |
● |
|
||
| 委托 |
● |
● |
||||
| ADO.net封装 |
● |
|||||
| 数据传递方式 | 事件参数 |
● |
● |
● |
||
| 类级别的变量、对象 |
● |
● |
● |
|||
| 静态类(全局对象) |
● |
● |
● |
|||
| 方法参数 |
|
● |
● |
|||
| 变量、对象 |
|
● |
● |
|||
| SQL语句 | 不能使用,只能通过对象等传递 |
● |
流程相关的全部放在BLL,非流程相关的放入存储过程 | |||
| 储存过程 |
● |
|||||
| DataSet |
● |
● |
● |
● |
||
| DataReader | 不能使用 |
● |
● |
|||
| 数据流方向 |
读取 |
● |
● |
● |
● |
|
| 写入 |
|
● |
● |
● |
||
| 执行方式 | 同步 | 默认 | 如同步方法/异步方法,同步执行/异步执行 | |||
| 异步 | 可选 | 可选 | ||||
| 单线程 | 默认 | |||||
| 多线程 | 可选 | 可选 | 可选 | |||
| 操作触发源 | R |
● |
● |
● |
注意:数据访问层不能作为CURD的触发源;数据库的存储过程、触发器可以作触发源 | |
| C |
● |
● |
● |
|||
| U |
● |
● |
● |
|||
| D |
● |
● |
● |
|||
| 异常处理 | 显示友好信息,未处理全部由全局异常处理方法捕获 | 处理和记录,重定义后昌泡 | 直接昌泡(不处理)或重定义后昌泡 | 返回异常代码和记录 | 针对层而言 | |
| ●:表示“使用” | ||||||
| 特别约定: | ||||||
| 1、不能直接访问表,应通过视图 | ||||||
| 2、不能从DAL层通过SQL语句访问视图,应通过存储过程 | ||||||
| 3、流程相关的全部放在BLL,非流程相关的放入存储过程 | ||||||

浙公网安备 33010602011771号