MVC 项目 典型结构MVC 项目典型结构
DEV343
议题
永恒的话题: MVC vs. WebForms
MVC项目典型结构
控制器,选择器,过滤器——各司其职
灵活的路由规则
强大的视图引擎
关注可测试性
MVC 2的新功能概览
模型
HttpContext
HttpRequest
HttpResponse
…
Caching
Globalization
Membership
…
基础模型
表现模型
Page
Code Behind
MVC
WebForms
V
M
C
MVC vs. WebForms
细节、控制、灵活
复用、模型、快速开发
MVC
大量可复用控件
成熟的状态管理
可视化设计支持
…
WebForms
容易扩展(DIY)
良好的职责分离
易于测试
…
认证
缓存
路由
…
永恒的话题
MVC?
WebForms被放弃了吗?
作为开发人员该如何选择?
……
MVC项目典型结构
视图
View
视图模型
View Moel
控制器
Controller
领域模型
Domain Model
表现层
业务逻辑层
其他业务对象
Business Objects
MVC项目典型结构
表现层
业务逻辑层
?
演示
MVC项目的典型结构
充分利用,各司其职
URL Routing:从URL中提取数据,通过数据构建URL
Action Selector:选择待执行的Action
Action Filter:Action执行的前/后置功能
Model Binder:生成Action参数
Action:处理请求的逻辑主体,生成数据
Action Result:向客户端呈现结果
示例:RESTful API
回复(Response)
HTTP/ 304 Not Modified
Date: Sun, 04 Oct 2009 19:36:25 GMT
Server: Microsoft-IIS/
Last-Modified: Fri, 02 Oct 2009 16:47:31 GMT
Etag: "600028c-59fb-474f6852c9dab"
Cache-Control: max-age=300
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 7160
Content-Type: text/xml
<?xml version=‘’ encoding=‘utf-8’?>
...
Action Selector
URL Routing
请求(Request)
GET /service/products/1234 HTTP
Host: r-Agent: XYZ
Accept: text/xml
Keep-Alive: 300
Connection: keep-alive
If-Modified-Since: Fri, 02 Oct 2009 16:47:31 GMT
If-None-Match: "600028c-59fb-474f6852c9dab"
Cache-Control: max-age=60
Action Filter
Model Binder
Action Result
MVC 项目 典型结构 来自淘豆网www.taodocs.com转载请标明出处.