【发布时间】:2008-09-16 15:25:21
【问题描述】:
谁能指出任何使用Presentation-Abstraction-Control 设计模式而不是MVC 的网站或Web 应用程序?像这样很容易找到桌面应用程序(例如;GIMP),但我正在网上寻找一些东西。
【问题讨论】:
标签: model-view-controller design-patterns web-applications user-interface
谁能指出任何使用Presentation-Abstraction-Control 设计模式而不是MVC 的网站或Web 应用程序?像这样很容易找到桌面应用程序(例如;GIMP),但我正在网上寻找一些东西。
【问题讨论】:
标签: model-view-controller design-patterns web-applications user-interface
我认为,使用 PAC 的网站比人们想象的要多。例如,drupal 使用 PAC 模式,并且有很多站点(以及很多大型站点)都是用 drupal 构建的。很多人混淆了MVC 和PAC。 Larry Garfield does a good job explaining the difference and how drupal uses PAC.
在我对这个主题的研究中,我发现不止一个开源应用程序/框架在更准确地符合 PAC 模式时称自己为 MVC 架构。特别是模型/抽象、表示/视图和控制器相互交互的方式。
【讨论】:
我怀疑大多数使用所谓的 MVC 编写的网站实际上都在使用 PAC 版本,但只有一个三元组。 MVC 特别要求视图能够直接与模型通信,而无需通过控制器。我认为许多 Web 开发人员会期望无论通信方向如何,这总是通过控制器进行。
【讨论】:
您很难获得使用 PAC 的 Web 应用程序,因为 PAC 继承模式在 Web 中不存在的自定义组件和自定义对话框上运行良好。
许多框架使用 PAC,它可以让您覆盖表示、抽象或控制,但在 Web 中使用时,由于其简单性,大部分都转换为 MVC(例如,您不需要新级别的 PAC 来更改外观一个网格...你可以使用 CSS 文件)。
这是我能给你的最好答案。
【讨论】:
Drupal 是一个用 PHP 编写的基于 PAC 的 Web 框架。 :)
【讨论】: