一.简介

主要分为:界面层(User Interface layer),业务逻辑层(Business Logic Layer),数据访问层(Data access layer)

1.作用

界面层(UI) 提供界面,用于与用户交互 包含窗体和自定义控件
业务逻辑层(BLL) 处理业务逻辑,用于UI层调用  主要负责对数据层的操作
数据访问层(DAL) 访问数据库的类,用于BLL层调用  数据库,二进制文件,文本文档,XML文档等

另外加上,实体层Models,用于抽象出实体类

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

分层目的:高内聚低耦合

例:需要更换界面情况下,直接更换UI层就可以了

2.关系图

C#三层架构搭建 随笔 第1张

 二.搭建

1.创建空白解决方案

C#三层架构搭建 随笔 第2张

2.创建BLL

C#三层架构搭建 随笔 第3张

 

3.创建DAL层

 C#三层架构搭建 随笔 第4张

4.创建Models

 C#三层架构搭建 随笔 第5张

5.创建UI层

 C#三层架构搭建 随笔 第6张

6.关联各层之间的关系

 关系图:

C#三层架构搭建 随笔 第7张

 (1)UI引用BLL和Models

 C#三层架构搭建 随笔 第8张

  (2)BLL引用DAL和Models

C#三层架构搭建 随笔 第9张

  (3)DAL引用Models

C#三层架构搭建 随笔 第10张

 

7.将UI项目设置为启动项

C#三层架构搭建 随笔 第11张

 三.规则

⒈ 最关键的,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
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄