【机房重构】三层

简介: 【机房重构】三层

结构概述

  • 多层结构的划分方式:物理、逻辑

  • 两层/三层结构
  • 物理上的三层:显示层、业务层、数据层

  • 逻辑上划分VS物理上划分
  • 物理:显示层、业务层、数据层
  • 逻辑:UI、BLL+DAL、DB

我们讨论的是UI(显示层)、BLL(业务逻辑层)、DAL(数据访问层)

为什么要分层?

1、解耦

目的是为了“高内聚、低耦合”

内聚:一个模块内各个元素彼此结合的紧密程度

耦合:一个软件结构内不同模块之间互连程度的度量

2、复杂问题简单化

各个分层分工明确,将一个复杂问题简单拆分了

3、便于系统维护与升级

各层间通过接口解耦,接口与实现分离,从而可以非常简单的替换掉实现,或者实际实现

4、为了管理和维护

使软件开发有条理有秩序,一目了然

UI、BLL、DAL分别是什么?

UI(表现层):展现给用户的界面

BLL(业务逻辑层):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑的处理

DAL(数据访问层):所做事务直接操作数据库,针对数据的增、删、改、查。将存储在数据库中的数据提交给B层,同时将B层处理的数据保存在数据库

D层的这些操作都是基于U层的。用户的需求反映给界面U层,U层反映到B层,B层反映给D层,D层进行数据的操作,操作后再一一返回,直到将用户所需数据反馈给用户

应用场景

为什么要使用三层架构?

代码量比之前少

修改也方便

实现了代码的重用性

什么情况下需要使用?

1、既有数据访问层

2、也有业务逻辑层(BLL层)

当业务复杂到一定程度后,当数据存储到相应的数据库或者独立的数据存储介质的情况下,需要使用三层结构

什么情况下不需要三层结构?

1、业务逻辑简单

2、没有真正的数据存储层

数据访问层

DAL的作用

  • 从数据源加载数据(Select)
  • 向数据源写入数据(Insert、Update)
  • 从数据源删除数据(Delete)

登录操作

1. public class UserDAO
2. {
3. public bool SelectUser(string userName,string Prossword)
4.     {
5. throw new NotImplementedException();
6.     }
7. }

具体操作数据源的具体对象

1. public class ScoreDAO
2. {
3. public void UpdateScore(string userName,int value)
4.    {
5. throw new NotImplementedException();
6.    }
7. }

显示层

UI的作用

  • 向用户展现特定业务数据
  • 采集用户的输入信息和操作

UI设计的原则

  • 用户至上
  • 兼顾简洁

业务逻辑层

BLL的作用

  • 从DAL中获取数据,以供U层显示用
  • 从U层中获取用户指令和数据,执行业务逻辑
  • 从U层中获取用户指令和数据,通过D层写入数据源

BLL的职责机制

  • UI->BLL->UI
  • UI->BLL->DAL->BLL->UI

具体应用

原则

DAL只提供基本的数据访问,不包含任何业务相关的逻辑处理

UI:负责显示和采集用户操作,不包含任何的业务相关的逻辑处理

BLL:负责处理业务逻辑。通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要数据给UI

程序集(Assembly)

  • DAL、B:LL、UI分别在不同的程序集中
  • 各个层之间的引用关系
  • UI->BLL->DAL
  • DAL所在程序集不引用BLL和UI
  • BLL需要引用DAL
  • UI直接引用BLL。可能会间接引用DAL


相关文章
|
8月前
|
负载均衡 安全 API
SDN网络架构分为哪三层
SDN软件定义网络是一种创新的网络架构,旨在提供更灵活、可编程和智能的网络管理。SDN的设计理念是通过将网络控制平面和数据平面分离,实现对网络行为的集中控制和编程。
|
8月前
|
网络协议 Java 网络架构
osi网络7层架构
osi网络7层架构
64 0
|
数据处理 网络虚拟化 网络架构
|
网络虚拟化 网络架构
VLAN的划分与VLAN间的三层通信,你都懂了吗?
VLAN的划分与VLAN间的三层通信,你都懂了吗?
431 0
|
存储 数据采集
三层基础
三层基础
66 0
|
存储 数据库 C#
三层理解
三层理解
82 0
|
网络协议 网络性能优化 网络架构
网络分层参考模型
传输层 作用: (1) 数据分段 (2) 根据数据不同,来决定数据是否可靠传输 视频流,语音流:不可靠----UDP(用户数据报协议) 文件、网页、邮件:可靠----TCP(传输控制协议) 保证可靠机制 (1) 三次握手:建立连接TCP 1 SYN  seq=a 2 ACK、SYN    seq=b   ack=a+1 ack:确认号 确认上一个报文;告诉对方发送数据的序列号。请求和确认机制 3ACK seq:序列号  seq=a+1 ack=b+1   seq=b+1  500(字节) seq=b+1+500      500(字节) ack=b+1+500+
|
数据库 C# 数据安全/隐私保护
三层实战(C#)
三层实战(C#)
57 0
|
网络协议 算法 网络架构
二层、三层、四层交换机的区别!!
看正文,希望能提供些帮助!
1389 0
|
算法 网络协议 网络架构