博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于MVC与MVP的理解
阅读量:5052 次
发布时间:2019-06-12

本文共 762 字,大约阅读时间需要 2 分钟。

1. MVC的理解误区

  理解误区:
  1. 认为Model是指失血模型的实体类(Entity),是作为View和Controller之间的传输数据。
  2. 把业务逻辑全部放在Controller端,认为Controller是用来写UI的业务逻辑的。
  这两个误区本质上都是对Model的作用不明导致的。
  Model在MVC架构中起的作用很重要,它是UI业务逻辑真正的实现层。所以Model实际上是Business Model(业务模型)。
  Controller仅起“桥梁”作用,它负责把View的请求转发给Model,再负责把Model处理结束的消息通知View

       Controller就是一个消息分发器;Controller是用来解耦View和Model的,也就是为了让UI与逻辑分离(界面与代码分离);

  2. MVC与VCP的区别
  MVC的View直接与Model打交道,Controller只转发View的请求、以及Model处理完之后的通知,不传递数据(业务结果),而是由View直接向Model拿数据。
  MVP的View不与Model直接联系,所有的请求、结果通知、数据传递都是通过Controller转发,View和Model彼此不知道对方的存在。
  
  3. MVC与MVP的相同点
  无论是MVC还是MVP,View和Controller都是紧密联系的,在WinForm模式下更显突出,View和Controller在一个类里面直接绑定在一起了
  MVC/MVP都是通过“通知”机制(观察者模式,在C#中使用事件)来解决View和Controller的交互。

转载于:https://www.cnblogs.com/lyugeyi1030/p/8542076.html

你可能感兴趣的文章
java aes CBC的填充方式发现
查看>>
使用ionic cordova build android --release --prod命令打包报有如下错误及解决方法
查看>>
BZOJ 2338 HNOI2011 数矩形 计算几何
查看>>
关于页面<!DOCTYPE>声明
查看>>
【AS3代码】播放FLV视频流的三步骤!
查看>>
C++标准库vector使用(更新中...)
查看>>
cocos2d-x 2.2.6 之 .xml文件数据读取
查看>>
枚举的使用
查看>>
BZOJ 1531 二进制优化多重背包
查看>>
BZOJ 2324 (有上下界的)费用流
查看>>
python3基础06(随机数的使用)
查看>>
Zookeeper系列(二)特征及应用场景
查看>>
【HTTP】Fiddler(三)- Fiddler命令行和HTTP断点调试
查看>>
Spring Boot使用Druid和监控配置
查看>>
poi 处理空单元格
查看>>
Android 内存泄漏优化总结
查看>>
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>
Spring Cloud微服务笔记(五)Feign
查看>>
C语言键盘按键列表
查看>>
Codeforces Round #374 (Div. 2)
查看>>