Artech的MVC4框架学习——第一章初步认识ASP.NET MVC
前言:
Artech觉得掌握ASP.NET MVC具有三个层次。
第一层了解基本的编程模式,掌握Controller和View的定义方式,知道路由如何注册以及验证规则如何定义。
第二个层次要求我们对ASP.NET MVC框架本身从请求接收到响应回复的整个流程具有一个清晰的认识,这包括请求如何被路由、目标Controller如何被激活、Model元数据如何被解析、Action方法如何被执行,View如何呈现等。
第三层ASP.NET MVC本身是一个极具可扩展的开发框架,合理利用其扩展性可以解决很多开发中的实际问题,而掌握ASP.NET MVC的最高层次就是凭着对框架本身的运行机制的了解准确地找到相应的扩展点,并创建相应的扩展来解决我们遇到的问题。
Artech将基于ASP.NET MVC的编程分为两类,即“面向业务编程“和“面向框架的编程”。前者根据具体的业务逻辑定义Controller和设计View,这是大部分Web开发人员的主要工作;
后者则是为整个Web应用搭建一个框架,让最终的开发人员只需要关注与具体的业务逻辑,而让框架来完成所有与业务无关的部分。对于后者,我们可以充分利用ASP.NET MVC的扩展性,通过自定义的扩展来将非业务的功能自动“注入”(ioC)到业务逻辑的处理流程中 ,这样不仅可以提高开发效率还能提高开发质量。本书在剖析ASP.NET MVC框架运行机制过程中几乎列出了其所有的扩展点,并且通过实例演示的形式提供了很多实用的扩展。
第一章知识点:
第一解决 UI 、UI界面逻辑、业务逻辑 这些关注点的分离。从设计模式角度就是观察者模式,通过 controller 注册\订阅方式(注册相应事件完成,即基于事件机制)来实现 view和Model之间 关联。
第二MVC 的变体(前身) mvp (分 pv 和sc) 、mvvm、model2(java里面的东西有model1\model2)。最终mvc根据model2模式设计的。即:http请求被HttpModule拦截,进行相应验证,然后交给HttpHandler处理,进而激活目标Controller和执行相应Action,期间对model元数据解析,最终选择相应view转化成HTML呈现。
第三讲述IIS5、6、7与 Asp.net运行机制(详见:http://www.cnblogs.com/lei2007/archive/2013/06/08/3127192.html)。Asp.net采用极具扩展性管道式设计,HttpApplication是整个Asp.net管道核心,定义一系列事件在相应过程中被触发,最重要 HttpModule 和HttpHandler。而MVC实际上通过自定义HttpModule 和HttpHandler进行处理。
Artech的MVC4框架学习——第一章初步认识ASP.NET MVC的更多相关文章
- Artech的MVC4框架学习——第二章URL路由
总结:HttpModule 和HttpHandler是Asp.net管道的两个重要组件.请求最终处理通过HttpHandler完成.MVC就是通过名为MvcHandler自定义HttpHandler现 ...
- Artech的MVC4框架学习——第三章controller的激活
第一当目标controller的名称通过URL路由被解析出来后,asp.net mvc利用 ControllerBuilder 注册 ControllerFactory ,根据名称实现对目标contr ...
- Struts2框架学习第一章——Struts2概述
本章要点 — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — We ...
- Artech的MVC4框架学习——第七章Action的执行
概况:Action的执行不仅包含action方法的执行,还包含相关筛选器的执行. 第一基于线程池的请求,http请求称谓工作线程(p321),基于线程池优势:工作线程重用和工作线程数量的限制. 第二两 ...
- Artech的MVC4框架学习——第六章Model的验证
第一Model验证旨在为通过Model绑定生成参数进行检验以确保用户输入数据的有效性(p318) 第二Model验证分两种:服务器端(三种解决方案 p256)和客户端(ajax\jQuery) 第三服 ...
- Artech的MVC4框架学习——第五章Model的绑定
第一Model绑定本质就是为目标Action方法生成参数列表的过程,参数数据存在于http请求.请求的 URL .消息报头或主体中. 第二aciton 参数的元数据通过 ParameterDescri ...
- Artech的MVC4框架学习——第四章Model元数据的解析
总结: 第一Model元数据是针对 数据类型的一种表述信息. 第二Model元数据作用:控制数据类型本身及其成员,通过相应的特性,在view中 为绑定的数据(Model)实现模版化的html呈现. 第 ...
- Artech的MVC4框架学习——第八章View的呈现
总结:定义在controller中的action方法一般会返回actionResult的对象对请求给予 响应.viewResult是最常见也是最重要的ActionView的一种(p411).view模 ...
- Asp.Net MVC4 + Oracle + EasyUI 学习 第一章
Asp.Net MVC4 + Oracle + EasyUI 第一章 --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.html 文章集合 ...
随机推荐
- C语言中的数组问题
数组默认最后一位是 结束符 占一位, 假如是7个字节大小的数组 实际输入为6个字节,最后一个字节为'\0' 这样写 char password_set[7]={"123456"}; ...
- 到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf
转载,原文: http://blog.lessfun.com/blog/2014/11/22/when-should-use-weakself-and-strongself-in-objc-block ...
- vue的iview列表table render函数设置DOM属性值的方法
{ title: '负责人社保照片', key: 'leaderIdNumber', render: (h, params) => { return h('img',{domProps:{ sr ...
- Python基础教程学习笔记:第二章 列表和元组
1.序列中元素的索引: 第一个元素索引是0,第二个是1,依次递增 最后一个元素索引是-1,倒数第二个是-2,依次递减 2.序列(Sequence)的种类: 列表(list).元组(tuple).字符串 ...
- Java求解汉诺塔问题
汉诺塔问题的描述如下:有3根柱子A.B和C,在A上从上往下按照从小到大的顺序放着一些圆盘,以B为中介,把盘子全部移动到C上.移动过程中,要求任意盘子的下面要么没有盘子,要么只能有比它大的盘子.编程实现 ...
- Android ViewDragHelper全然解析 自己定义ViewGroup神器
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46858663. 本文出自:[张鸿洋的博客] 一.概述 在自己定义ViewGro ...
- 8 -- 深入使用Spring -- 1...2 Bean后处理器的用处
8.1.2 Bean后处理器的用处 Spring提供的两个常用的后处理器: ⊙ BeanNameAutoProxyCreator : 根据Bean实例的name属性,创建Bean实例的代理. ⊙ De ...
- Git Step by Step – (8) Git的merge和rebase
前面一篇文章中提到了"git pull"等价于"git fetch"加上"git merge",然后还提到了pull命令支持rebase模式 ...
- [AX2012]代码更改默认财务维度
在前文(http://www.cnblogs.com/duanshuiliu/p/3243048.html)最后演示了如何使用代码更改默认财务维度,那段代码模拟了创建各数据表记录的过程,实际上AX提供 ...
- linux下kill -9 pid 强制不能杀掉进程原因
今天安装集群的时候,发现一个进程一直存在,kill -9 pid 也干不掉,就找找原因了. kill -9发送SIGKILL信号将其终止,但是以下两种情况不起作用:a.该进程处于"Zomb ...