| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 浅谈三层架构、MVC之间的关系 -> 正文阅读 |
|
[大数据]浅谈三层架构、MVC之间的关系 |
什么是三层架构?三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
各个层的作用
各个层各负其责,通过实体层(Entity)将它们联系起来 实体层的作用
我们可以举一个例子来说明:
使用三层的目的是为了——解耦 例如:如果出现以下的问题,我们可以这样子处理:
如果是以往普通的架构,那么这样子可能一层改动会对其他层造成影响!!! 但是使用“三层架构”就不会了!任何一层发生变化都不会影响到另外一层!!! 什么是MVC?概念MVC的全名是Model View Controller,是一种使用“模型-视图-控制器”设计创建Web应用程序的模式,同时提供了对HTML、CSS和JavaScript的完全控制,它是一种软件设计典范。 使用MVC的目的在于将M(业务模型)和V(用户界面)的实现代码分离,从而使同一个程序可以使用不同的表现形式。C(控制器)存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。 MVC使用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。 职能● Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常负责在数据库中存取数据。 ● View(视图)是应用程序中处理数据显示的部分。通常是依据模型数据创建的。 ● Controller(控制器)是应用程序中处理用户交互的部分。通常负责从视图读取数据,控制用户输入,并向模型发送数据。 设计模式MVC是一种模式,但却在GoF总结出来的这个23个设计模式之外,确切的说它不是一种设计模式,它是多种设计模式的组合,并不仅仅只是一个单独的一个模式。 组成MVC的三个模式分别是组合模式、策咯模式、观察者模式,MVC在软件开发中发挥的威力,最终离不开这三个模式的默契配合。?那些崇尚设计模式无用论的程序员,请了解只要你们使用MVC,就离不开设计模式。
这篇文章写的很好!可以看看? 深入理解MVC - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/35680070 三层架构、MVC之间的关系关系示意图其实,无论是MVC还是三层架构,都是一种规范,都是奔着"低耦合,高内聚"的思想来设计的。 其实就是两种东西,一个软件、一个系统,可以使用三层架构来开发;也可以使用MVC模式,它们都是一套完整的体系。 三层的优缺点【优点】 (1)开发人员可以只关注整个结构中的其中某一层; (2)可维护性高,可扩展性高 (3)可以降低层与层之间的依赖; (4)有利于标准化; (5)利于各层逻辑的复用 【缺点】 (1)降低了系统的性能。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成 (2)有时会导致级联的修改,这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码 (3)增加了开发成本 MVC的优缺点【优点】
【缺点】
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:56:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |