关于七层架构的重新理解

在进行重构的时候,对于七层懵懵懂懂,并不知晓分层的意义。
随着实践的推移,有了新的理解,与大家分享。

一、机房七层,到底指什么?

按照实际需求来讲,我们代码的架构分为UBD三层就够了,其他的层是为了辅助这三层而产生的。

1.U层

    U层,即界面层。用于直接展示给用户的一层,是软件与用户交流最直接的一层。U层的作用是接受用户给出的数据,并将相关数据传给B层,调用B层的函数,接收返回值并给出相关提示的一层。U层可以进行判断,但不进行「业务逻辑」判断,关于有关业务逻辑判断的处理,调用B层函数,交给B层处理。
    

2.B层

    B层,即业务逻辑层。作用于U层和D层之间。B层的作用是接受U层的数据,根据业务要求,调用D层的函数,用于完成对数据库和业务相关的操作,将操作的结果返回给U层。其实来讲,业务逻辑层才是程序的灵魂所在,是程序完成操作的加工厂。
    就相当于一个服装厂,客户给公司(U层)下了个订单,公司让车间(B层)加工服装。但是加工服装需要原材料,车间(B层)就向仓库管理员(D层)提出要求,仓库管理员从仓库(数据库)拿走原材料,交于车间加工。车间加工完毕后,将服装交由公司,公司再交付给客户。
    

3.D层

    D层,即数据访问层。作用于三层架构(即U-B-D架构)的最底层。D层的作用是接受B层传进来的数据,并根据B层的需求对数据库进行各种各样的操作,返回或不返回数据
    

4.Entity层

    Entity层,即实体层。实体层的存在实际上主要是用来辅助传值的。实体层的好处是在传值和返回值的时候,能够用一个实体,代替一堆数据,便于其他开发和维护人员理解代码逻辑,也能一定程度上避免了变量的冗余,且能减少内存的开销
    实体层实际上是建立一个专门用户临时储存数据,用于进行数据传输的类,称为实体。在一个实体内,存放多个属性。属性内容基本与数据库相关表的属性一致。

①.数据库:
在这里插入图片描述
②实体层:
在这里插入图片描述

5.Facade层

    Facade层,即外观层。外观层在U层和B层之间,用于集成业务逻辑,提供一个统一的入口
    打个比方来讲外观层。假定我们设计的系统有登陆功能。登陆要求验证有无该用户,账号密码是否正确,是否已经登陆;忘记密码;自动登录等项,那么我们就需要在B层中写相关的判定和功能。在这种情况下,我们从U层只调用B层的一个函数来实现以上功能怕是有点难度了。加入外观层,就是U层调用外观层的函数,外观层再去具体调用B层的函数。这样就隔离开了U层与B层的直接联系,也是迪米特法则的体现。
    

6.Factory层

    Factory层,即工厂层,详见设计模式——抽象工厂+反射。
    

7.IDAL层

    IDAL层,即接口层。根据B层为D层提供了函数标准。并且借助工厂层,让B层调用D层的函数。

发布了57 篇原创文章 · 获赞 20 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Cjx_9421/article/details/103324413
今日推荐