浏览 3253 次
锁定老帖子 主题:一副示意图的构思过程
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-25
初稿第一版和第二版构思 初稿第三版和第四版构思 最终决定 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-03-25
用什么工具画的?漂亮啊
|
|
返回顶楼 | |
发表时间:2008-03-25
good!楼主追求完美的心态和我一样。
不过为了工作效率,该放手时还是要放手。图片确实具有极其丰富的表达能力,但也不需要完全摒弃文字。像第一幅图,适当加点文字说明就可以弥补构图的缺陷了,能省不少时间;而最后一幅图也有缺点,还无法表达spring mvc的完整概念。 |
|
返回顶楼 | |
发表时间:2008-03-25
tedeyang 写道 good!楼主追求完美的心态和我一样。
不过为了工作效率,该放手时还是要放手。图片确实具有极其丰富的表达能力,但也不需要完全摒弃文字。像第一幅图,适当加点文字说明就可以弥补构图的缺陷了,能省不少时间;而最后一幅图也有缺点,还无法表达spring mvc的完整概念。 不妨谈谈还缺什么概念才是你所指的完整表达的springMVC,呵呵 以免我误导人啊 |
|
返回顶楼 | |
发表时间:2008-03-25
henven 写道 用什么工具画的?漂亮啊
不好意思,用visio画的,用的是盗版,不要告诉微软哈,不然我可惨了 :-) |
|
返回顶楼 | |
发表时间:2008-03-27
A picture is better than a thousand words
|
|
返回顶楼 | |
发表时间:2008-03-28
下回先用纸与笔画下来
再用照片方式.就不会被MS告了. PS:我喜欢纸笔画出来的东西 |
|
返回顶楼 | |
发表时间:2008-03-28
我素描功底不行,呵呵,怕画出来的东西有碍观瞻,hoho
|
|
返回顶楼 | |
发表时间:2008-03-31
fujohnwang 写道 tedeyang 写道 good!楼主追求完美的心态和我一样。
不过为了工作效率,该放手时还是要放手。图片确实具有极其丰富的表达能力,但也不需要完全摒弃文字。像第一幅图,适当加点文字说明就可以弥补构图的缺陷了,能省不少时间;而最后一幅图也有缺点,还无法表达spring mvc的完整概念。 不妨谈谈还缺什么概念才是你所指的完整表达的springMVC,呵呵 以免我误导人啊 我的意思就是大多数图形如果缺乏文字说明是较难清晰自我描述的。 我摘抄一段MVC的官方说明: 引用 当DispatcherServlet配置好以后,DispatcherServlet接收到与其对应的请求之时,处理就开始了。下面的列表描述了DispatcherServlet处理请求的全过程:
找到WebApplicationContext并将其绑定到请求的一个属性上,以便控制器和处理链上的其它处理器能使用WebApplicationContext。默认的属性名为DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE。 将本地化解析器(localResolver)绑定到请求上,这样使得处理链上的处理器在处理请求(准备数据、显示视图等等)时能进行本地化处理。若不使用本地化解析器,也不会有任何副作用,因此如果不需要本地化解析,忽略它就可以了。 将主题解析器绑定到请求上,这样视图可以决定使用哪个主题。如果你不需要主题,可以忽略它。 如果上传文件解析器被指定,Spring会检查每个接收到的请求是否存在上传文件,如果是,这个请求将被封装成MultipartHttpServletRequest以便被处理链中的其它处理器使用。(关于文件上传的更多内容请参考第 13.8.2 节 “使用MultipartResolver”。) 找到合适的处理器,执行和这个处理器相关的执行链(预处理器,后处理器,控制器),以便为视图准备模型数据。 如果模型数据被返回,就使用配置在WebApplicationContext中的视图解析器显示视图,否则视图不会被显示。有多种原因可以导致返回的数据模型为空,比如预处理器或后处理器可能截取了请求,这可能是出于安全原因,也可能是请求已经被处理过,没有必要再处理一次。 在请求处理过程中抛出的异常,可以被任何定义在WebApplicationContext中的异常解析器所获取。使用这些异常解析器,你可以在异常抛出时根据需要定义特定行为。 Spring的DispatcherServlet也支持返回Servlet API定义的last-modification-date。决定某个请求最后修改的日期很简单:DispatcherServlet会首先寻找一个合适的handler mapping,检查从中取得指定的处理器是否实现了LastModified接口,如果是,将调用long getLastModified(request)方法,并将结果返回给客户端。 引用 This servlet is very flexible: It can be used with just about any workflow, with the installation of the appropriate adapter classes. It offers the following functionality that distinguishes it from other request-driven web MVC frameworks:
流程上有不少策略,窃以为仅凭借图不足以完整描述。 譬如spring的mvc处理流程中存在这很多可选和默认配置,这里没有体现。 还有中间那个大箭头是什么意思?两幅图的关系没能说明清楚。 不过既然在写书,那肯定是图文并茂。呵呵 ps:度假回来收到楼主的pm,顺便参观了楼主的blog。楼主有段时间过的生活那叫一个惨烈,真是很彪悍!呵呵,2004年我还在哈尔滨呢,还没回常州。 |
|
返回顶楼 | |
发表时间:2008-03-31
呵呵,等我把SpringMVC一章写完了你就会发现那两幅图的奥妙了,
其实我是为了简化概念,采用第一步先只关注处理流程中的主要角色,然后再添加附加角色的处理方式,至于可选以及默认配置,好像在图里面不好表达吧,呵呵,这些当然会在内容部分提及啦。 PS. 所谓忆苦思甜,那段所谓的"彪悍"的日子还是比较怀念的,呵呵,起码对本人来说是这个样子。 |
|
返回顶楼 | |