谁能指出任何使用Presentation-Abstraction-Control设计模式而不是 MVC 的网站或 Web 应用程序?像这样很容易找到桌面应用程序(例如 GIMP),但我正在网上寻找一些东西。
5 回答
我认为,使用 PAC 的网站比人们意识到的要多。例如,drupal使用 PAC 模式,并且有很多网站(以及很多大型网站)都是用 drupal 构建的。许多人混淆了MVC和PAC。Larry Garfield 很好地解释了差异以及 drupal 如何使用 PAC。
在我对这个主题的研究中,我发现不止一个开源应用程序/框架在更准确地符合 PAC 模式时称自己为 MVC 架构。特别是模型/抽象、表示/视图和控制器相互交互的方式。
我怀疑大多数使用所谓的 MVC 编写的网站实际上都在使用 PAC 的一个版本,但只有一个三元组。MVC 特别要求视图能够直接与模型通信,而无需通过控制器。我认为许多 Web 开发人员会期望无论通信方向如何,这总是通过控制器进行。
您很难获得使用 PAC 的 Web 应用程序,因为 PAC 继承模式在 Web 中不存在的自定义组件和自定义对话框上运行良好。
许多框架使用 PAC,它可以让您覆盖表示、抽象或控制,但在 Web 中使用时,由于其简单性,大多转换为 MVC(例如,您不需要新级别的 PAC 来更改网格的外观...您可以使用 CSS 文件)。
这是我能给你的最好的答案。
我看到的唯一示例是在面向模式的软件架构第 1 卷:模式系统中。
Drupal 是一个用 PHP 编写的基于 PAC 的 Web 框架。:)