MVC-READ1
- 将具有不同稳定性的元素融为一体,具有最差稳定性的元素决定了整体的稳定性,这是“短板理论”在软件设计中的体现.
- MVC的创建者是Trygve M. H. Reenskau,他是挪威的计算机专家,同时也是奥斯陆大学的名誉教授。MVC是他在1979年访问施乐帕克研究中心(Xerox PARC,Xerox Palo Alto Research Center)期间是提出一种主要针对GUI应用的软件架构模式。MVC最初用于SmallTalk,Trygve最初对MVC的描述记录在《Applications Programming in Smalltalk-80(TM):
- Model:是对应用状态和业务功能的封装,可以看成是同时包含数据和行为的领域模型(Domain Model)。Model接受Controller的请求执行相应的业务功能,并在状态改变的时候通知View
- View:实现可视化界面的呈现,捕捉最终用户的交互操作(比如鼠标和键盘操作)。
- Controller:View捕获到用户交互操作后会直接转发给Controller,后者完成相应的UI逻辑。如果需要涉及业务功能的调用,Controller会直接调用Model。在完成UI处理之后,Controller会根据需要控制原View或者创建新的View对用户交互操作予以响应
- Controller的激活
string controllerName = this.RequestContext.RouteData.Controller;
IControllerFactory controllerFactory = ControllerBuilder.Current.GetControllerFactory();
IController controller = controllerFactory.CreateController(this.RequestContext, controllerName);
controller.Execute(this.RequestContext);
7 Action的激活
string actionName = requestContext.RouteData.ActionName;
ControllerContext context = new ControllerContext { RequestContext = requestContext, Controller = this };
this.ActionInvoker.InvokeAction(context, actionName);
8 MVC扩展点
UrlRoutingModule----路由解析扩展
IRouteHandler-------路由处理程序扩展
IControllerFactory-----控制器的创建扩展
IActionInvoker-----Action执行扩展
IModelBinder-----Action参数绑定扩展
ActionResult-----Action返回结果扩展
最新文章
- Rac grid用户启停监听报错无权限
- 关于MediaPlayer的详细介绍
- 15款效果很酷的最新jQuery/CSS3特效
- SpringMVC 配置过滤器解决中文乱码问题
- UIAlertControl swift
- HW5.7
- QueryFilter与SpatialFilter - 浅谈
- jquery动态添加DOM节点
- 理解的javascript自定义事件
- 对dump脱壳的一点思考
- MarkDown模板
- Oracle E-Business Suite Release 12.2 Information Center - Manage
- windows下virtualenv中安装MySQL-python
- codeforces#983 B. XOR-pyramid (dp)
- selenium 分布式 [WinError 10061] 由于目标计算机积极拒绝
- [Java] [查找文件] [递归]]
- python web cgi
- ubuntu系统默认源更改为阿里源
- python早期看书笔记
- 【BLE】CC2541之加入自己定义任务
热门文章
- 更新.xsd后,rdlc 数据源更新不了
- 流程设计器jQuery + svg/vml(Demo2 - UI界面增加属性显示)
- 第十一次作业 - Alpha 事后诸葛亮
- Eclipse 中 ctrl+鼠标左键 快捷查看资源失效
- .net常用正则表达式小结
- ubuntu16.04 源码安装Python3.7 (可以在此基础上安装Tensorflow) (确保Tensorflow计算框架与系统的彻底隔离)
- test20181019 B君的第一题
- opencrud 中文参考翻译(完成部分)
- 全面剖析Smarty缓存机制一[三种缓存方式]
- python 常见问题总结