初识三层架构

开头

   今天给大家介绍一下三层架构,到底什么是三层架构?它既然存在,存在的必要是什么呢?下面我们以思维导图为导向,展开我们今天的学习。



内容:

一、What?

三层架构由三部分构成,分别为UI(界面层)、BLL(业务逻辑层)、DAL(数据访问层)

UI(界面层(User Interface)):提供一个界面,实现与用户的交互。例如QQ、蓝墨云、微信的登录界面一样,接收并处理用户的数据。

BLL(业务逻辑层(Business Logic Layer)):是UI 与DAL层交互的桥梁,对数据进行业务逻辑操作,例如,验证用户输入的是否正确,如果正确提供给用户一些奖励,实施具体的运算,服务员核查客户是否点了某一道菜,如果点了,将美食反馈给用户一样。

DAL(数据访问层(Data Access Layer)):访问数据库中数据,与数据库存在联系,主要实现对数据的增、删、改、查。并将数据传递给业务层,以及将业务逻辑层处理好的数据保存到数据库。

各个层次之间的关系:UI→BLL→DAL(→表示引用)

解析:厨师只做饭,什么都不需要做(谁都不引用)
           服务员需要获取厨师做好的饭(BLL引用DAL)
           客户找服务员要饭吃(UI直接引用BLL)


二、Why?

在为什么使用三层架构之前,我们先来做一个对比实验,来区分一下去大饭店和去大棚子买饭的区别。

1.去大棚子买饭很简单,我们(客户端)发出请求,厨师(服务器)接收请求,只有两者进行交互。(属于两层架构)

2.去饭店吃饭,我们点菜→服务员接收请求,执行任务→厨师访问各种食材,可见在大棚子吃饭我们需要和厨师面对面进行一系列的交互,而在大饭店我们并没有和厨师产生直接联系。

3.情况分析:如果客户与厨师直接进行联系,随着客户的增多,发出不同的请求,你很难想想厨师会不会崩溃,就好比好多人同时要求你做不同的事情一样。然而有了服务员,就可以直接执行业务逻辑,间接实现了客户与厨师之间的交流。

可见当我们的业务逻辑变得复杂的时候,或者数据库存储成为一个独立的介质的时候,我们就用到了三层架构,它实现了不同层次之间的解耦。(厨师一个人已经不能应付多个人不同的请求的时候,我们就开始雇佣服务员了,将用户层和数据访问层分开,这时候我们就需要三层架构了。)


三、应用

我们拿登录窗体对三层模式进行解析:该登陆窗体和蓝墨云相似,登陆成功后,可以进行加分的业务。

UI层:提供给用户交互的界面,获取用户输入的用户名和密码,向用户展现特定的业务逻辑。

UI设计原则:用户至上,兼顾简洁


具体代码如下:


BLL层:执行业务逻辑

具体代码如下:


DAL层:针对数据源进行加载(查数据)、写入、删除操作,增删改查

具体代码如下:



加分类


Entity(实体类)

上面大家有没有发现Model贯穿着三个层次之间,通过该实体实现三层之间的数据获取与操作,实现了对数据的封装。


关于三层架构的学习就先简单的介绍到这里,学习三层我认为最关键的是了解各层的职责与作用,然后细化每一个步骤就可以了,大家有没有感觉三层架构与命令模式特别相似,我感觉在业务层次上面特别相似。欢迎大家观看行为型模型——命令模式。三层架构还将在持续学习中。

  如果本篇博客对于初学者的您有一定的帮助,大家记得点赞哦。


猜你喜欢

转载自blog.csdn.net/fjxcsdn/article/details/80721045