第二篇,MVC框架
MVC : 模型(model)---视图(view)---控制器(caontreller)的缩写
MVC是一个设计模式,他强制性的使应用程序的输入,处理,输出 分开
- 模型(Model):程序员编写程序应有的功能(实现算法等),数据库专家进行数据处理和数据库的设计(可以具体实现的功能)
Model是应用程序中用于处理应用程序数据逻辑的部分
通常模型对象负责在数据库中存取数据
- 视图(View):界面设计人员进行图形界面设计,View是应用程序中处理数据显示的部分
通常视图是依据模型数据创建的
- 控制器(Controller):负责转发请求,对请求进行处理
Controller是应用程序中处理用户交互的部分
通常控制器负责从视图中读取数据,控制用户输入并向模型发送数据
理想MVC模型:理想MVC关注两个分离
- 从Model中分离View(主要考虑几点)
- 关注点不同:Model关注内在的不可视的逻辑,View关注外在的可视的逻辑
- 同一个Model往往需要多种View表现形式
- 相对Model而言,View是不容易测试的
- 从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
视图。控制器 ---- 设置 ---- 模型 ---- 得到通知 ---- 视图。控制器
最新文章
- linux压缩和解压缩命令大全
- 运维mysql基础
- 共享内存同行,王明学learn
- 【JQGRID DOCUMENTATION】.学习笔记.3.Pager
- Linux_文档编辑器_简介
- Cocos2d-android (01) 创建一个简单的cocos2d应用程序
- Python 代码性能优化技巧(转)
- 【课上OJ】判断密码强度
- java网络通信之非阻塞通信
- vue集成百度UEditor富文本编辑器
- Java日期操作工具类
- WebApi的安全性及其解决方案
- JDK开发环境配置
- 【转】Android-Input Getevent
- mysql学习笔记--数据库多表查询
- javaScript笔记详解(1)
- [CodeVS4633][Mz]树链剖分练习
- elk之logstash
- php运行代码流程和性能优化方法
- SQLite 3的中文读写