深入MVC模式概念

摘要:
视图:根据模型数据显示内容的组件。控制器:接受并处理用户指令,选择视图并输出内容。4.MVC可以分离两个视图和数据——它可以为同一模型开发不同的视图进行显示;分离可见和不可见组件,并实现模型的独立测试。视图----UILayerController----BLLayerModel----DALayer2。事实上,情况并非如此。MVC是表示模式,三层架构是架构模式。它们之间没有可比性。可以看出,MVC位于三层架构的顶端,因为它是一种表示模式。视图表示内容,属于UI层。Controller处理表示逻辑和界面相关逻辑。该模型被视为DomainModel,不涉及DALayer。

      学习了老赵的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并输出内容.深入MVC模式概念第1张

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模式概念第2张

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

View表现内容,属于UI层.

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

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

Best Regards,

Charles Chen

Email: gotosunny@msn.com 

免责声明:文章转载自《深入MVC模式概念》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Spark应用程序运行的日志存在哪里(转)flex-1下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

后台三层架构

后台三层架构 所谓的三层开发就是将系统的整个业务应用划分为表示层、业务逻辑层、数据访问层,这样有利于系统的开发、维护、部署和扩展。 分层实现了“高内聚、低耦合”,采用“分而治之”的思想,把问题划分开来解决,易于控制、延展,易于分配资源。 第一层:表现层/表示层:负责直接跟用户进行交互,一般是指系统的界面,用于数据录入、数据显示等。意味着只做与外观显示相关的...

JNDI、连接池和三层架构

JNDI 1.什么是JNDI Java Naming and Directory Interface,Java命名和目录接口 通过名称将资源与服务进行关联 2.JNDI的作用与优点 在应用与Java对象或资源之间建立松耦合的逻辑关联,简化应用对于资源的配置及维护工作 可以在更大范围、不同应用之间共享资源 3.配置JNDI 修改tomcatconfCo...

常用的三层架构设计(转载)

常用的三层架构设计 软件系统最常用的一般会讲到三层架构,其实就是将整个业务应用划分为表示层、业务逻辑层、数据访问层等,有的还要细一些,通过分解业务细节,将不同的功能代码分散开来,更利于系统的设计和开发,同时为可能的变更提供了更小的单元,十分有利于系统的维护和扩展。 常见的三层架构基本包括如下几个部分,如图14-1所示。 图14-1 常见的三层架构 l 数...

MVC架构在游戏开发中的应用

一 定义 MVC即Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。 MVC是一种“前端”的设计模式。 MVC的目的是:希望View和Model分离,当某一方改变时。而还有一个方不必随之改变的。 比如,Java EE平台,iOS都是典型的基于MVC思想思想的,那么我们怎么在游戏设计中...

【原创】进销存快速开发框架 (Winform三层架构+DevExpress+MsSQL)

进销存系统简介 进销存,又称为购销链,是指企业管理过程中采购进货 (进)--> 入库存货(存)-->销售出库(销)三个主要流程环节的动态管理过程。   进:指询价、采购到入库与付款的过程。 销:指报价、销售到出库与收款的过程。 存:指出入库之外,包括领料、退货、盘点、损益、借入、借出、调拨等影响库存数量的动作。     进销存软件是对企业生产经...

Struts 2.x仍然明显落后于时代。 Struts 2.x这一类老牌Web MVC开发框架仅能用于开发瘦客户端应用,无法用来开发对于交互体验要求更高的应用。

后来我在工作中陆续使用过Struts 1.x和Struts 2.x。我曾经把一个开源的基于Struts 1.x的自助式广告联盟应用移植到Spring MVC,还基于Struts 2.x做过网站开发。Struts 1.x的主要问题是框架的侵入性太大,不利于代码重用和单元测试。Struts 2.x确实进步很大,完全基于POJO,学习曲线低了很多,还支持零配置(...