MVC : 模型(model)---视图(view)---控制器(caontreller)的缩写

MVC是一个设计模式,他强制性的使应用程序的输入,处理,输出 分开

  1. 模型(Model):程序员编写程序应有的功能(实现算法等),数据库专家进行数据处理和数据库的设计(可以具体实现的功能)

    Model是应用程序中用于处理应用程序数据逻辑的部分

    通常模型对象负责在数据库中存取数据

  2. 视图(View):界面设计人员进行图形界面设计,View是应用程序中处理数据显示的部分

    通常视图是依据模型数据创建的

  3. 控制器(Controller):负责转发请求,对请求进行处理

    Controller是应用程序中处理用户交互的部分

    通常控制器负责从视图中读取数据,控制用户输入并向模型发送数据

理想MVC模型:理想MVC关注两个分离

  1. 从Model中分离View(主要考虑几点)
    1. 关注点不同:Model关注内在的不可视的逻辑,View关注外在的可视的逻辑
    2. 同一个Model往往需要多种View表现形式
    3. 相对Model而言,View是不容易测试的
  2. 从View中分离Controller

    视图 ----看到----用户 ----使用 ---- 控制器 ---- 操纵 ---- 模型 ----更新 ----视图

    View ----SEES----> user ----uses ----> Controller ----manipulates----> Model ----updates----> View

现实MVC模型

View与Conteoller紧密相关,在苹果的Objective—C中,定义为ViewController.

ViewController 是业务逻辑实现的核心,负责读取数据 显示和处理用户输入等

与界面无关的数据逻辑部分抽象为Model ,如 数据库的表的 更新和读取

界面上独立的显示元素被抽象为View ,如 显示文字的Lable 等待用户单击的Button

与理想MVC模型不同的是 View不于Model直接交互,View与Model的更新都是由Controller完成

用户 ---- 使用 ---- 视图。控制器 ---- 更新 视图 ---- 视图 ---- 看到 ---- 用户

User----uses----> ViewController ----update views ----> View ----sees----> User

ViewController----set ----> Model ---- get or notification ----> ViewController

视图。控制器 ---- 设置 ---- 模型 ---- 得到通知     ---- 视图。控制器

最新文章

  1. iATKOS v7硬盘安装教程(硬盘助手+变色龙安装版)
  2. 如何在本机上将localhost改为www.dev.com
  3. IOS UITableView的分隔线多出问题
  4. Windows命令查看文件MD5
  5. 15 things to talk about in a healthy relationship
  6. SQL Server 查看死锁的存储过程(转载)
  7. MyEcpilise引入Maven项目目录不正常,无JRE,无Maven Dependencies
  8. DataGridView添加另外一个控件。
  9. Azure机器学习入门(三)创建Azure机器学习实验
  10. deeplearning.ai 人工智能行业大师访谈 Ruslan Salakhutdinov 听课笔记
  11. axios介绍与使用说明 axios中文文档
  12. 出现errSecInternalComponent
  13. LinkedHashMap和TreeMap的有序性
  14. windows下配置lua环境
  15. iOS11 适配
  16. hdu 5828 Rikka with Sequence 线段树
  17. Docker容器和数据可视化管理工具Flocker
  18. 联合主键用hibernate注解映射方式主要有三种:
  19. HDU 3820 Golden Eggs
  20. php index.php修改之后未生效

热门文章

  1. Jni层回调java代码【转】
  2. TI CC2541的引脚中断.
  3. 启动管理软件服务器时,提示midas.dll错误
  4. oracle 数据泵 每天自动备份
  5. 【JQGRID DOCUMENTATION】.学习笔记.3.Pager
  6. oracle ORA-12519,TNS:no appropriate service handler found的
  7. wordpress网站被挂马以及防御方法
  8. libsqlite3.dylib找不到
  9. 关于基于webrtc的android-apk 和 webrtc-brows
  10. ant-环境变量