重新认识 MVC 和 三层设计模式
来源:互联网 发布:la域名注册查询 编辑:程序博客网 时间:2024/05/16 08:19
重新认识 MVC 和 三层设计模式
首先不得不承认,身边有一群8年+工作经验的大牛就是爽,纠正了我一个认知上的错误
首先来看一下官方的解释:
MVC:
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
三层架构设计模式:
1. 表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2. 业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3. 数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
我想说的是,因为老师夜以继日对我讲,MVC三层模式,从而导致我将这两个东西搞混了。所以现在我来重新理解下。
简单的说:
- MVC 是应用在三层架构模式中表现层里面的一种软件设计规范,它只存在于表现层,它不是一种架构设计规范!在表现层的设计还有 MVVM,MVP等,在这里的model,应该理解为viewModel,view就是web界面,controller则是页面请求的逻辑处理
- 三层架构设计是一种架构设计方案,相对来说理解起来比较简单,但需要注意的是,实体模型并不能算作是一个层
具体的理解画一个图吧
然后稍微的说一下MVVM和MVP
MVVM: 主要用来做 WPF
MVP: MVP和MVC很像,但是有点区别。在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller。
在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑。 在MVC模型里,更关注的Model的不变,而同时有多个对Model的不同显示,即View。所以,在MVC模型里,Model不依赖于View,但是View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。
其实今天还学了下 依赖注入的一些东西,很深奥,有空再说吧!
0 0
- 重新认识 MVC 和 三层设计模式
- MVC设计模式和JavaWeb三层模型
- 我理解的MVC设计模式和三层架构
- Javaweb经典的三层框架和MVC设计模式
- 深入理解MVC设计模式和三层架构_20170925_V1.0
- 对三层和MVC的认识过程
- 对三层和MVC的认识过程 .
- 对三层和MVC的认识过程
- 三层架构和MVC模式
- 三层架构和MVC模式
- 三层架构和mvc模式
- 三层架构和MVC模式
- 三层架构和MVC模式
- 三层架构和MVC模式
- 三层架构和MVC模式
- MVC模式和三层架构
- J2EE三层架构与MVC设计模式
- MVC模式和三层架构模式区别
- Python 程序扩展名(py, pyc, pyw, pyo, pyd)及发布程序时的选择
- 不可以! 南阳理工ACM 题目1071
- 《机器学习》周志华学习笔记——第一章 绪论
- Spring Security 3.1 中功能强大的加密工具 PasswordEncoder
- 捋一捋Android的转场动画
- 重新认识 MVC 和 三层设计模式
- iOSweex集成入门,weex快速上手教程,weex集成到iOS工程注意事项(一)
- sdut oj3333 数据结构实验之栈六:下一较大值(二)
- 不愿让别人看见,只自己看的注释应该怎么写
- Python 學習手冊(第4版)
- Stanford深度学习与自然语言处理讲义下载(CS224)
- 【5】使用结巴分词对分类语料库分词
- 给人生再一个转折
- [leetcode] 319. Bulb Switcher