51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

MVC设计模式

[复制链接]

该用户从未签到

跳转到指定楼层
#
发表于 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
  • TA的每日心情
    开心
    2015-11-8 22:02
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]测试连长

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-21 22:32 , Processed in 0.082200 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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