1. 将具有不同稳定性的元素融为一体,具有最差稳定性的元素决定了整体的稳定性,这是“短板理论”在软件设计中的体现.
  2. 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):
  3. Model:是对应用状态和业务功能的封装,可以看成是同时包含数据和行为的领域模型(Domain Model)。Model接受Controller的请求执行相应的业务功能,并在状态改变的时候通知View
  4. View:实现可视化界面的呈现,捕捉最终用户的交互操作(比如鼠标和键盘操作)。
  5. Controller:View捕获到用户交互操作后会直接转发给Controller,后者完成相应的UI逻辑。如果需要涉及业务功能的调用,Controller会直接调用Model。在完成UI处理之后,Controller会根据需要控制原View或者创建新的View对用户交互操作予以响应
  6. 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返回结果扩展

    

  

最新文章

  1. Rac grid用户启停监听报错无权限
  2. 关于MediaPlayer的详细介绍
  3. 15款效果很酷的最新jQuery/CSS3特效
  4. SpringMVC 配置过滤器解决中文乱码问题
  5. UIAlertControl swift
  6. HW5.7
  7. QueryFilter与SpatialFilter - 浅谈
  8. jquery动态添加DOM节点
  9. 理解的javascript自定义事件
  10. 对dump脱壳的一点思考
  11. MarkDown模板
  12. Oracle E-Business Suite Release 12.2 Information Center - Manage
  13. windows下virtualenv中安装MySQL-python
  14. codeforces#983 B. XOR-pyramid (dp)
  15. selenium 分布式 [WinError 10061] 由于目标计算机积极拒绝
  16. [Java] [查找文件] [递归]]
  17. python web cgi
  18. ubuntu系统默认源更改为阿里源
  19. python早期看书笔记
  20. 【BLE】CC2541之加入自己定义任务

热门文章

  1. 更新.xsd后,rdlc 数据源更新不了
  2. 流程设计器jQuery + svg/vml(Demo2 - UI界面增加属性显示)
  3. 第十一次作业 - Alpha 事后诸葛亮
  4. Eclipse 中 ctrl+鼠标左键 快捷查看资源失效
  5. .net常用正则表达式小结
  6. ubuntu16.04 源码安装Python3.7 (可以在此基础上安装Tensorflow) (确保Tensorflow计算框架与系统的彻底隔离)
  7. test20181019 B君的第一题
  8. opencrud 中文参考翻译(完成部分)
  9. 全面剖析Smarty缓存机制一[三种缓存方式]
  10. python 常见问题总结