51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 22818|回复: 14
打印 上一主题 下一主题

MVC设计模式

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-3-11 13:05:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MVC设计模式
  模型-视图-控制器(Model-View-Controller,MVC)模式是一种拆分方法,它将应用程序拆分成三个部分:模型、视图和控制器。其中模型表示企业数据管理对该数据的访问和更新的业务规则。通常,模型充当现实世界中的过程的软件模拟,这样,在定义模型的时候即可以应用真实世界的建模技术。视图处理模型的内容。它通过模型访问企业数据,并指定应该如何表示该数据。在模型发生改变时,视图将负责在它的表示中保持一致性。这可以通过使用推(Push)模型(视图向该模型注册,以获取它的改变通知)来实现,也可以用拉(Pull)模型(此时视图负责在需要检索最新数据时调用模型)来实现。控制器将和视图之间的交互转换为由模型执行的操作。在独立的 GUI 客户机中,用户交互可能是按钮单击或菜单选择,然而在 Web 应用程序中,它们则可能是 GET 和 POST HTTP 请求。由模型执行的操作包括激活业务流程或改变模型状态。控制器根据用户交互和模型操作的结果选择合适的视图,从而作出响应。采用MVC 体系结构有以下优势:
1.多个视图使用同一个模型。模型和视图的分开使多个视图可以使用相同的企业模型。因此,企业应用程序的模型组件就更容易实现、测试和维护,因为所有对模型的访问都要经过这些组件。
2.对客户机新类型更容易支持。要支持客户机的新类型,您只需为其编写一个视图和控制器,然后在已有的企业模型中将它们进行连接即可。
  在国际业务系统设计中,表现逻辑(即客户端)、业务逻辑(即业务处理层)、数据库访问、通讯服务设计是相互分离和独立的。一方面,它符合组件化的设计思想;另一方面,它便于各部分的模型化。特别是表现逻辑在不同客户端各具特色,但它们使用的业务和数据却可以是相同的。在业务调度模块和各个渠道之间传送的XML信息就是这些业务和数据信息的统一载体。反过来说,相同的业务和数据可以有不同的表现形式,从一定程度体现了系统的灵活性。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2005-9-26 10:04:53 | 只看该作者
好高深的东西,有没有例子?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-1-11 20:34:53 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-7-28 15:04:41 | 只看该作者
sdlkfj3 够专业了!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-12-27 17:03:45 | 只看该作者
sdlkfj3 呵呵...如此熟悉!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-7-26 19:17:47 | 只看该作者
正在自学中
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-10-16 21:27:17 | 只看该作者
M:Model 模型   业务层
V:View    视图   显示层
C:Controller  控制  逻辑层
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-10-26 09:16:26 | 只看该作者
Spring 竟然也有MVC
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2010-11-13 11:07:02 | 只看该作者
要向测试架构师发展,是否也需要了解这些东西啊?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2011-10-9 12:38:47 | 只看该作者
mvc模式弊端很多呀,寻求一种更好的模式
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2012-9-6 09:40:44 | 只看该作者
我也想了解一下!呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2013-3-21 10:44:21 | 只看该作者
模式不是都适用于所有场景的。具体的问题具体分析选择合适的架构和模式
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2014-3-3 16:21:13 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2014-6-28 09:01:24 | 只看该作者
知道了 ~~~
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2015-11-8 22:02
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]测试连长

    15#
    发表于 2015-10-11 07:48:53 | 只看该作者
    mvc  的模式支持有jsp,struts2, spring等框架
    v:试图层,用jsp,freemarker,velicity 等都可以
    c:控制层,一般为servlet
    m: 实例层,就是实体类,数据库层。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-3 16:54 , Processed in 0.077213 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表