zoukankan      html  css  js  c++  java
  • 三层架构初步理解

    ---恢复内容开始---

    什么是三层架构:通常意义上的三层架构就是显示层(UI),业务逻辑层(BLL),数据访问层(DAL)。

    UI:显示层,用来采集用户用户输入输入的信息和操作,并向用户展现特定的业务数据,在UI层中常用的技术有Windows form:form,control、ASP.NET:aspx,master,HTML。通俗的说就是主要指人机交互的界面,用于接收用户输入的数据和显示处理后用户需要的数据。

    BLL:业务逻辑层,该层负责从UI中获取用户指令和数据,执行业务逻辑,并通过DAL写入数据源,还可以从DAL中获取数据,将结果返回给UI。换句话说就是连接UI和DAL之间的桥梁。

    DAL:数据访问层,用来从数据源加载数据,也就是查找数据,数据源包括数据库、XML文件、文本文件等;向数据源写入数据或删除数据。简单的总结一下 就是数据库中的增删改查(实现数据的增删改查)

    (物理层和逻辑层:逻辑层是把层按类的集合来划分,而这些层都在同一台服务器上,我们现在将要重构的机房中的三层就都在自己的电脑上。而物理层是指类的集合在不同的服务器上,用附加的代码来处理层间的通信)

    实体类(Model):不属于三层范畴,是将需要的字段名从数据库中放入其中,好处是提高了安全性。比如一个表单,在对数据进行操作的时候需要用到数据库的数据表的字段名,但是这样容易导致我们自己数据表的字段名外泄,于是这个时候我们就可以使用到Model了,这个时候就可以使用到字段映射。除此之外,Model的作用也就是存储数据。

    各个层各司其职,只负责自己专属的功能,提高了内聚性,减少了彼此之间的耦合性。Model是传输数据的业务数据模型,不是数据库中的数据,Model是避免出现数据交替而建立的。

     三层架构的优缺点:

    优点:开发人员可以只关注整个结构中的其中某一层

    可以降低层与层之间的依赖

    有利于标准化,可以很容易的用新的实现来替换原有层次的实现

    在后期维护的时候,极大地降低了维护成本和维护时间

    缺点:1.降低了系统的性能,这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成

    2.有时会导致级联的修改。这种修改尤其体现在自上而下的方向,如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码

    3.增加了开发成本

  • 相关阅读:
    Kubernetes 集成研发笔记
    Rust 1.44.0 发布
    Rust 1.43.0 发布
    PAT 甲级 1108 Finding Average (20分)
    PAT 甲级 1107 Social Clusters (30分)(并查集)
    PAT 甲级 1106 Lowest Price in Supply Chain (25分) (bfs)
    PAT 甲级 1105 Spiral Matrix (25分)(螺旋矩阵,简单模拟)
    PAT 甲级 1104 Sum of Number Segments (20分)(有坑,int *int 可能会溢出)
    java 多线程 26 : 线程池
    OpenCV_Python —— (4)形态学操作
  • 原文地址:https://www.cnblogs.com/123456xfxf/p/8960966.html
Copyright © 2011-2022 走看看