1:三层架构是什么?

三层架构是一个分层式的软件体系架构设计理念。

把软件架构分为三层;

1:UI层   (user interface layer)  界面层

2:BLL层 (business logic layer)      业务逻辑层

3:DAL层 (data access layer)         数据访问层

其实就是项目的三个部分。

传统的项目,广义上需要关注的是客户端和服务端;相当于是一个两层架构。

客户端:  包含界面、业务逻辑

服务端:  包含数据

这样的设计理念的最大的缺点是:

一旦服务端数据结构或数据名发生变化,客户端需要在很大范围内做改变,以适应新的数据。比如说服务端的一个数据名因故改变了,那么客户端代码中所有用到该条数据的地方都需要做改变。

三层架构的设计理念,把一个软件分为三个部分:

UI层:就是展现给客户的界面,用于展示用户输入以及服务端返回的数据;交互式操作界面中,用户输入的数据和想要的数据展示。

业务逻辑层: 桥梁层,用户输入的数据通过业务逻辑层的处理发给数据层;数据层返回的数据通过业务逻辑层发送给界面展示。常做的操作是验证、计算、业务规则等。

数据访问层:主要管理数据,实现对数据的增删改查等操作。把业务逻辑层提交的用户输入的数据保存,把业务逻辑层请求的数据返回给业务逻辑层。

2:为什么要分三层架构?

三层架构的重要指导原则就是:高内聚、低耦合。

所以使用三层架构的最大目的就是:解耦。

所谓解耦就是软件各部分各司其职,一方的变化基本不会影响到另一方,只需要在对接初稍作修改就可以了。

3:三层架构怎么实现?

理论上三层架构的实现,在项目架构上是:

view

business

data

三个层。

view目录结构里面实现页面UI绘制,是页面的代码实现,页面里数据的来源和去向都是business;

business目录结构里面是把页面输入数据发送向data层,把data层返回数据返回给view展示;

data目录结构里面是对数据的处理,包括数据的增添改删。

4:三层架构与mvc

三层架构与mvc看似相似,

本质区别是,三层架构是一种软件架构设计理念,适用于所有项目;

而mvc只是UI层的一种细化。把UI层划分为M -V- C三个模块。

matlab搭建的应用层架构逻辑,软件设计的三层架构相关推荐

  1. 三层架构:软件设计架构

    三层架构:软件设计架构 1. 界面层(表示层):用户看的得界面.用户可以通过界面上的组件和服务器进行交互 2. 业务逻辑层:处理业务逻辑的. 3. 数据访问层:操作数据存储文件.

  2. 软考·系统架构师论文——论基于架构的软件设计方法及应用

    文章目录 说明 摘要 过渡 项目背景 论点理论+实践 结尾 说明 1.[摘要 300~330字] ① 项目介绍:时间.项目名.项目主要功能简述.作者角色及工作内容 ② 项目技术简介:正文理论/分论点的 ...

  3. 系统架构设计师-基于架构的软件设计

    简介 基于架构的软件设计(Architecture-Based Software Design,ABSD)是一种架构驱动方法.这种方法有 3 个基础: (1)功能的分解.在功能分解中,ABSD 方法使 ...

  4. 如何使用ABP进行软件开发(2) 领域驱动设计和三层架构的对比

    简述 上一篇简述了ABP框架中的一些基础理论,包括ABP前后端项目的分层结构,以及后端项目中涉及到的知识点,例如DTO,应用服务层,整洁架构,领域对象(如实体,聚合,值对象)等. 笔者也曾经提到,AB ...

  5. 软件设计7种架构模式

    一.简介 架构模式是对给定上下文的软件架构中常见问题的一种通用的可复用的解决方案.一种模式就是特定上下文的问题的一种解决方案. 大体上,主要有下面这7种架构模式: 分层架构 多层架构 管道/过滤器架构 ...

  6. python 三层架构说明_常用的三层架构设计图解大全

    软件系统最常用的一般会讲到三层架构,其实就是将整个业务应用划分为表示层.业务逻辑层.数据访问层等,有的还要细一些,通过分解业务细节,将不同的功能代码分散开来,更利于系统的设计和开发,同时为可能的变更提 ...

  7. python三层设计_python 三层架构说明

    原博文 2017-04-03 10:22 − python 三层架构说明 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentati ...

  8. 【Java架构师提升】java三层架构原理与作用小结

    这篇文章主要对Java三层架构的概念.作用等进行了介绍,需要的朋友可以参考下 三层架构 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI). ...

  9. php三层架构 注册登陆,什么是三层架构

    三层架构就是一种软件设计模式和完善的软件体系结构,它将整个业务应用划分为三层分别是表示层,业务逻辑层以及数据访问层 三层架构就是一种客户端-服务器体系结构,它将整个业务逻辑划分为三层,接下来在文章中将 ...

最新文章

  1. 基本概念之运算符与表达式
  2. 如何理解java采用Unicode编码
  3. 在Firefox 58中,WebAssembly组件性能提升了10倍
  4. 【OJ】洛谷分支结构题单题解锦集
  5. Interactive Python:Mini-project # 1 - Guess the number game
  6. 大数据之-Hadoop之HDFS的API操作_修改文件的名称---大数据之hadoop工作笔记0060
  7. PyTorch实战福利从入门到精通之八——深度卷积神经网络(AlexNet)
  8. 003《区块链开发指南》一一1.2 区块和区块链 转
  9. 辽宁移动计算机类专业笔试题库,2019辽宁中国移动笔试行测模拟题(八)
  10. mac怎么无线打印机连接到服务器,Mac如何连接打印机-Mac连接打印机教程 - 河东软件园...
  11. 工程造价为什么会出现“三超问题”?
  12. excel最大行数各版本介绍
  13. malloc用户态内存分配
  14. 2019备考[嵌入式系统设计师]你准备好了吗?
  15. Netty案例(二)之耗时任务的处理
  16. 华视电子vue身份证读取
  17. 如何关闭电脑的休眠功能
  18. 汽车SoC芯片IP供应商
  19. TinEye图片搜索引擎
  20. Ubuntu 微信 linux版最新可用——UOS魔改版

热门文章

  1. 配置frp报错start error: type [http] not support when vhost_http_port is not set
  2. Win10显示此应用无法在你的电脑上运行 此应用无法在你的电脑上运行处理办法
  3. Win7系统桌面右下角托盘图标不显示原因和解决方法
  4. SAP ABAP 打印(smartforms方式)
  5. 中科院C语言应聘机试编程题6,中科院计算所保研笔试+机试+面试经验分享
  6. html列表按时间排序代码_按字母顺序排序的列表
  7. matlab怎么求hadamard,hadamard matlab
  8. linux+mysql+导出备份_Linux系统MySQL备份的导入导出的具体分析
  9. JavaScript新手入门教程大全~~~
  10. python数据拟合固定参数_如何将数据拟合到非理想二极管方程(隐式非线性函数)并检索参数 - python...