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

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

MVC (Model-View-Controller)模式,即模型-视图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分,具体的功能如下:

模型(Model):业务逻辑层。实现具体的业务逻辑、状态管理的功能。
视图(View):表现层。就是与用户实现交互的页面,通常实现数据的输入和输出功能。
控制器(Controller):控制层。起到控制整个业务流程的作用,实现View层跟Model层的协同工作。

程序中经常遇到这样的情况:

有两个集合(对象)A和B,两者通过抽象成为独立的实体,但是希望建立A和B之间的关系。

处理方式可否理解为如下三种:

1.将B作为参数传递到A中可以作为属性传入,可以作为方法的参数传入;如果将方法也作为一种对象,就更是如此。

2.建立一个C(Controller)对象,将B(Model)传入C,在C中将B传入A(View),再在A中调用B的数据。——MVC,上面图片的Return View(personalInformation)可见一斑。

3.建立一个C对象(Presenter)对象,将B(Model)和A(view)传入,有C调用B获取数据,由C传入获取的数据在A中使用;如果A产生事件,在事件订阅方法中对B对象进行操作。——MVP,感觉操作系统的资源管理器就是一个MVP模式,Model=数据文件,View=资源管理器窗体,P=操作系统,操作系统负责调用Model的数据在资源管理器窗体中显示,同时资源管理器和操作系统通信,在资源管理器中的用户操作和事件,由操作系统负责响应并执行,即P操作M。

  程序中对象无非就是两种关系,一种是两角关系,一种是三角恋;其实归根结缔是两角关系。想将两个对象建立关系,就必须考虑两角恋还是三角恋,当然我们一直就是这样做的!这和现实事件很相似:

boyfriend和girlfriend两个人,boyfriend可以Kiss他的girlfriend,boyfriend通过自己的方法Kiss与girlfriend建立了联系

A同学和B同学在同一所学校上学,A和B通过学校这个对象联系起来。

前者是直接联系,后者是间接联系。联系可以相互联系;也可以内部联系,即对象和其自身的组成部分相联系。

多个程序都通过操作系统联系起来;一个窗体的消息传入操做系统,由操作系统负责触发事件;程序也是一种哲学啊!

 

转载地址:http://iazia.baihongyu.com/

你可能感兴趣的文章
开始学习C++
查看>>
让外界可以访问电脑上的网站的几种方式——花生壳,域名,IIS(待)
查看>>
# 2017-2018-1 20155224 《信息安全系统设计基础》第七周学习总结
查看>>
web-view——微信小程序嵌入H5
查看>>
Makefile所有内嵌函数
查看>>
深入理解JVM之JVM内存区域与内存分配
查看>>
Python List
查看>>
《系统分析与设计方法》 练习计算投资回收分析
查看>>
常用的数据批注
查看>>
pwntools使用简介2
查看>>
Java反射
查看>>
ant 使用指南
查看>>
[杨小米私房菜]炒青菜不出水的关键三步--豆豉鲮鱼油麦菜
查看>>
mysql日志文件目录
查看>>
3度带6度带区别、中央经线及带号的计算
查看>>
【BZOJ2820】YY的GCD
查看>>
#3146. 「APIO 2019」路灯
查看>>
【总结整理】.为什么我们不画高保真原型-----转自《人人都是产品经理》
查看>>
权限组件(13):批量操作权限页面的展示和增删改查
查看>>
TP设置404页面
查看>>