首页 > 其他分享 >三层架构详解

三层架构详解

时间:2023-10-05 22:01:11浏览次数:41  
标签:架构 DAL 详解 UI 模块 三层 数据

一、什么是三层架构?

    UI(表现层): 主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。
    BLL:(业务逻辑层): UI层和DAL层之间的桥梁。实现业务逻辑。
    DAL:(数据访问层): 与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行数据的操作,操作后再一一返回,直到将用户所需数据反馈给用户)
    Entity(实体层):它不属于三层中的任何一层,但是它是必不可少的一层。

Entity在三层架构中的作用:

    1、实现面向对象思想中的"封装";
    2、贯穿于三层,在三层之间传递数据;(注:确切的说实体层贯穿于三层之间,来连接三层)
    3、每一条数据就相当于一个对象,每个字段对应对象相应的属性(ORM思想)。
    4、每一层(UI—>BLL—>DAL)之间的数据传递(单向)是靠变量或实体作为参数来传递的,这样就构造了三层之间的联系,完成了功能的实现。

二、为什么使用三层架构?

目的很简单,实现 ”高内聚,低耦合“。
内聚:一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。
耦合:一个完整的系统,模块与模块之间,尽可能的使其独立存在,也就是说,让每个模块,尽可能的独立完成某个特定的子功能,模块与模块之间的接口,尽量少而简单,如果某两个模块间的关系比较复杂的话,最好首先进行模块划分,有利于修改和组合。

三、与两层的区别

两层:


(当任何一个地方发生变化时,都需要重新开发整个系统。"多层"放在一层,分工不明确耦合度高——难以适应需求变化,可维护性低、可扩展性低) 

三层:


(发生在哪一层的变化,只需更改该层,不需要更改整个系统。层次清晰,分工明确,每层之间耦合度低——提高了效率,适应需求变化,可维护性高,可扩展性高)

三层架构的优势:

    1,结构清晰、耦合度低
    2,可维护性高,可扩展性高
    3,利于开发任务同步进行, 容易适应需求变化

三层架构的劣势:

    1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
    2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码
    3、增加了代码量,增加了工作量

标签:架构,DAL,详解,UI,模块,三层,数据
From: https://www.cnblogs.com/wyl010926/p/17743987.html

相关文章

  • ORACLE 存储过程详解
    一、定义所谓存储过程(StoredProcedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中。在使用时候,用户通过指定已经定义的存储过程名字并给出相应的存储过程参数来调用并执行它,从而完成一个或一系列的数据库操作。二、存储过程创建......
  • 系统架构设计师论文范文
    论文目录一、论基于DSSA的软件架构设计与应用二、论基于Rest服务的web应用系统设计三、论软件可靠性设计与应用一论基于DSSA的软件架构设计与应用【摘要】去年三月份,我所在的公司启动国网电力用户用电信息采集系统项目,我被任命为项目负责人。国网电力用户用电信息采集系统是国家电......
  • 三层架构与MVC的区别
    一:MVC(开发模式)C:controller控制层V:视图成(html,jsp,vue)M:模型层(分两种:第一种service,dao业务模型,第二种entity实体类模型)二:第一种:有现成前端页面(类似或者可以借鉴的)创建项目,导包或配置maven,基本框架搭建的工作准备(实体,工具类,配置文件)V:前端视图C:servletM:service(serviceim......
  • Rest架构风格
    一、什么是Rest风格?REST(RepresentationalStateTransfer)即表述性状态转移,它是一种软件架构风格(或模式)。REST架构风格重新定义Web开发:1、对web的本质回归:一种真实描述Web的方式,不被特定时期的特定应用程序概念歪曲。2.提供区分良好实践和糟糕实践的途径:判断特定项目实践是否......
  • 架构师必须掌握的架构设计原则
    软件设计原则GRASP通用职责分配软件模式来自CraigLarman的软件设计书《UML和模式应用》,Larman在书中提出软件设计的关键任务是职责分配,并提炼总结出9种(5种核心+4种扩展)软件职责分配模式,这些模式是比GoF设计模式更抽象的元模式。信息专家(InformationExpe......
  • 架构师必须掌握的架构设计原则
    软件设计原则GRASP通用职责分配软件模式来自CraigLarman的软件设计书《UML和模式应用》,Larman在书中提出软件设计的关键任务是职责分配,并提炼总结出9种(5种核心+4种扩展)软件职责分配模式,这些模式是比GoF设计模式更抽象的元模式。信息专家(InformationExpe......
  • 架构师必须掌握的架构设计原则
    软件设计原则GRASP通用职责分配软件模式来自CraigLarman的软件设计书《UML和模式应用》,Larman在书中提出软件设计的关键任务是职责分配,并提炼总结出9种(5种核心+4种扩展)软件职责分配模式,这些模式是比GoF设计模式更抽象的元模式。信息专家(InformationExpe......
  • 架构师必须掌握的架构设计原则
    软件设计原则GRASP通用职责分配软件模式来自CraigLarman的软件设计书《UML和模式应用》,Larman在书中提出软件设计的关键任务是职责分配,并提炼总结出9种(5种核心+4种扩展)软件职责分配模式,这些模式是比GoF设计模式更抽象的元模式。信息专家(InformationExpe......
  • 软件架构设计师历年论文题目(2012-2)
    2.论决策支持系统的开发与应用决策支持系统(DecisionSupportSystems,DSS)是以管理科学、运筹学、控制论和行为科学为基础,以计算机技术、仿真技术和信息技术为手段,以人机交互方式进行半结构化和非结构化决策的信息系统。它调用各种信息资源,并提供各种分析工具,为决策者提供分析问题......
  • 软件架构设计师历年论文题目(2012-3)
    论企业应用系统的数据持久层架构设计数据持久层(DataPersistenceLayer)通常位于企业应用系统的业务逻辑层和数据源层之间,为整个项目提供一个高层、统一、安全、并发的数据持久机制,完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提供服务。它能够使程序员避免手工编写访问......