CharlesChen's Technical Space

简单实用是我一直在软件开发追求的目标(I Focus on. Net technology, to make the greatest efforts to enjoy the best of life.)
Not the best, only better
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

深入MVC模式概念

Posted on 2009-05-02 23:33  Charles Chen  阅读(1304)  评论(0编辑  收藏  举报

      学习了老赵的WebCast第一讲ASP.NET MVC框架开发系列课程 ---MVC模式与ASP.NET MVC框架概述.

对MVC模式有更深入的理解.

一、MVC概述

1.MVC模式是上世纪70年代由Trygve Reenskau提出,运用于Smalltalk平台上.

2.表现模式(UI/Presentation Pattern).

3.三种角色

Model:用于存储数据的组件(与领域模型Domain Model概念不同)。

View:根据Model数据进行内容展示的组件.

Controller:接受并处理用户指令(访问业务逻辑操作Model),选择一个View并输出内容.

4.MVC两种分离

View和数据(Model)分离-----能够为相同的Model开发不同的View进行展示;分离可视与不可视的组件,能够对Model进行独立测试(只有View到Model的单向引用)。

View和表现逻辑(Controller)分离-----分离逻辑与具体展示,能够对逻辑进行独立测试(只有Controller到View的单向引用)

二、MVC与三层架构

1.MVC与三层架构类似?

View----UI Layer

Controller------BL Layer

Model------DA Layer

2.其实不是这样的,MVC是表现模式(Presentation Pattern),三层架构是架构模式(Architecture Pattern),它们之间没有可比性。

可以看到MVC在三层架构中是出于偏上,因为它是一个表现模式.

View表现内容,属于UI层.

Controller处理表现逻辑,处理和界面相关的逻辑的。

Model这里当作Domain Model,不牵涉到DA Layer。(也许Model中会牵涉到Active Record直接映射成数据库,会有Get,Save等方法)

 

Best Regards,

Charles Chen

Email: gotosunny@msn.com