首页 文章

MVC WRT WebApplications的实际模式是什么? [关闭]

提问于
浏览
8

混淆是因为互联网上浮动的MVC架构图不同:由于问题太宽泛,我想集中精力研究用于WebApplications的MVC .

说: Zend Framework .

example1: 可能是我见过的最好的一个 .
MVC

example 2:
MVC

example 3:

MVC

模型视图控制器概念 . 实线表示直接关联,虚线表示间接关联(例如,通过观察者) .

我主要关注的是,视图如何与控制器和模型相互作用,反之亦然 . 视图是否应该直接与模型交互?模型应该直接更新视图的任何更改吗?示例2中的图是对MVC的误解,因为它看起来像是MVP(1)(2)模式 .

MVC与MVP的一个例子:
enter image description here

1 回答

  • -2

    由于没有回复,我决定发一个 . 这主要基于
    模型 - 视图 - 控制器(MVC)架构(WEB)(PDF) . 指出:Tom Ingram(谢谢) .

    文章是:
    John Deacon是一名讲师和作家 . 面向对象的分析与设计:一种实用的方法 . (有关作者的更多信息,请参阅 About the author here部分)

    现在,最适合MVC架构的图表是:

    MVC

    这三部分:

    模型 - 视图 - 控制器:

    我们将调用应用程序/域的不变本质,模型(以单数形式) . 在面向对象的术语中,这将包括一组类,它们模拟和支持底层问题,因此它们往往是稳定的,并且与问题本身一样长寿 . 模型(类)应该知道多少与外界的联系?没什么,绝对没有 .

    模型 - 视图 - 控制器:

    对于给定的情况,在给定的版本中,将有一个或多个与模型的接口,我们将其称为视图(复数) . 在面向对象的术语中,这些将由一组类组成,这些类将“窗口”(通常是实际窗口)提供给模型,例如, GUI /小部件(图形用户界面)视图,CLI(命令行界面)视图,API(应用程序接口)视图 . 或者:新手视图,专家视图 . 虽然视图通常是图形化的,但它们并非必须如此 . 观点对模型的了解程度如何?他们必须知道它的存在 . 他们必须了解其性质 . 例如,bookingDate输入字段可能会显示某个模型类的实例变量,并且可能会更改某个模型类的实例变量 .

    模型 - 视图 - 控制器:

    控制器是一个允许您操纵视图的对象 . 过度简化了一点,控制器在视图处理输出时处理输入 . 控制器拥有最丰富的平台和操作系统知识 . 视图与其事件是来自Microsoft Windows,X Windows还是其他任何内容完全无关 . 并且,正如视图知道他们的模型但模型不知道它的视图一样,控制器知道他们的视图,但视图不知道它的控制器 . *控制器是Smalltalk特定的 . 它们不是普遍感兴趣的,在这里没有更深入的介绍 . 例如,在Java的Swing体系结构中,视图和控制器相结合(这通常在其他体系结构中完成) . 在Swing中,组合视图/控制器称为委托 .

    *仔细阅读并消化 .


    还有(通过它们):

    “模特”混乱

    那么,Smalltalk可以归功于发明和推广MVC架构 . 但它也可能被指责混乱的事情 . 该架构的更好的首字母缩写词是:MdMaVC . Md:领域模型 . Ma:应用程序模型 .

    关于如何进行沟通:

    查看模型通信 . 模型(和控制器)来查看通信 . 域模型通信的应用模型 .

    我认为这应该给我们一个非常清晰的 What is the actual pattern for MVC? 图片 .

相关问题