MVC模式(一)

一、定义

从高级术语上说,MVC模式意味着一个MVC应用程序被分离成至少三部分。
- 模型(Model):含有或表现用户进行操作的数据。模型可以是简单的视图模型(View Model),他们只表现视图与控制器之间传递的数据;也可以是域模型(Domain Model),它包含业务领域的数据,以及处理这些数据的操作,转换和规则。
- 视图(View):用于将模型的某些部分渲染成用户界面。
- 控制器(Controller):处理传入的请求,执行模型上的操作,并选择渲染给用户的视图。

二、MVC与其他模式

1. 理解“智能UI”模式

最常用的设计模式之一是智能用户界面(Smart User Interface)。为了建立智能UI应用程序,开发者需要构造一个用户界面,通常是将一组组件控件拖放到设计界面或画布上。这些控件通常通过对单击按钮、按键、鼠标移动等发送事件的报告来与用户进行交互。开发者将代码添加到一系列的事件处理程序中,以便对这些事件作出响应。

最大的缺点
是难以维护和扩展。域模型与带有用户界面代码的业务逻辑混搭在一起,这导致了重复。也即,为了支持新添加的组件,需要重复复制并粘贴同样的业务逻辑片段。要想添加一个新的特性而不破坏已有的特性,几乎是不可能的。在MVC的世界里,智能UI通常被认为是一种抵抗模式

2. 理解“模型-视图”架构

“模型-视图”架构提供了一种改进方法,它将事情逻辑抽取出来形成一个独立的域模型,在这种做法中,数据、过程以及规则都被集中在应用程序的一个部件中。然而也产生了两个问题:一是UI和域模型结合的很紧密,对每一个部分的单元测试都很困难。二是来自实际情况,模型通常含有大量的数据访问代码,这意味着,数据模型不仅仅包含事务数据、操作和规则。

3.理解经典三层架构

为了解决“模型-视图”存在的问题,将持久化代码从域模型中分离出来,并放入一个叫做“数据访问层(DAL)”的新组件中。

最大的问题三层结构中的UI部分可能特别复杂,存在大量不能严格测试的代码。

4.理解MVC的变异

  • “模型-视图-呈现器(Model-View-Presenter)”,以便更容易的适应状态化的GUI平台,如Windows Form 和 ASP.NET Web Form。在这种模式中,呈现器具有MVC控制器同样的职责,但他与状态化视图有更直接的关系,根据用户的输入和动作,直接管理UI组件中显示的数据。该模式有以下两个实现:

被动式视图:视图不包含逻辑,他是UI控件的容器,由呈现器直接进行操纵。

监管控制器:视图要负责一些具有表现逻辑的元素,如数据绑定,并给出对域模型数据源的引用。

  • “模型-视图-视图模型(Model-View-View Model)”,它源于微软,并被用于WPF。模型视图,暴露了视图中待显示数据的模型属性,也暴露了能够通过UI进行调用的对数据的操作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值