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. linux压缩和解压缩命令大全
  2. 运维mysql基础
  3. 共享内存同行,王明学learn
  4. 【JQGRID DOCUMENTATION】.学习笔记.3.Pager
  5. Linux_文档编辑器_简介
  6. Cocos2d-android (01) 创建一个简单的cocos2d应用程序
  7. Python 代码性能优化技巧(转)
  8. 【课上OJ】判断密码强度
  9. java网络通信之非阻塞通信
  10. vue集成百度UEditor富文本编辑器
  11. Java日期操作工具类
  12. WebApi的安全性及其解决方案
  13. JDK开发环境配置
  14. 【转】Android-Input Getevent
  15. mysql学习笔记--数据库多表查询
  16. javaScript笔记详解(1)
  17. [CodeVS4633][Mz]树链剖分练习
  18. elk之logstash
  19. php运行代码流程和性能优化方法
  20. SQLite 3的中文读写

热门文章

  1. V4L2应用程序框架-二【转】
  2. webpack笔记_(3)_First_Project
  3. flexbox in IE (10+ and 9 and 8)
  4. android中广告轮播图总结
  5. Cimg代码初探
  6. JAVA学习随笔-.class
  7. 用户 NT AUTHORITY\NETWORK SERVICE 登录失败
  8. PKCS10生成证书csr
  9. php获取汉字的拼音 拼音首字母
  10. Python import 指定目录中的模块