有没有人能指出使用Presentation-Abstraction-Control设计模式而不是MVC的任何网站或Web应用程序?桌面应用程序很容易找到(例如:GIMP),但我正在寻找一些Web的东西。
有没有人能指出使用Presentation-Abstraction-Control设计模式而不是MVC的任何网站或Web应用程序?桌面应用程序很容易找到(例如:GIMP),但我正在寻找一些Web的东西。
有更多的网站使用PAC模式,比人们意识到的要多。例如,Drupal使用了PAC模式,并且有很多网站(包括很多大型网站)都是用Drupal建造的。许多人混淆MVC和PAC。Larry Garfield很好地解释了区别以及Drupal如何使用PAC。
在我对这个主题的研究中,我发现有不止一个开源应用/框架称自己为MVC架构,但更准确地说它们符合PAC模式。具体来说,模型/抽象、演示/视图和控制器之间的交互方式。
我怀疑大多数使用所谓MVC的网站实际上都是使用了一个三元组的PAC版本。MVC明确要求视图能够直接与模型通信,而无需通过控制器。我认为许多Web开发人员都希望无论通信方向如何,这些通信都应该通过控制器。
您想要获取使用PAC的Web应用程序,但是PAC继承模式在Web中的自定义组件和自定义对话框中非常有效,但在Web上并没有真正存在。
许多框架使用PAC,可以让您覆盖演示、抽象或控制,但在Web上使用时,大多转换为MVC以使其更简单(例如,您不需要有一个新的PAC级别来更改网格外观…您可以使用CSS文件)。
这是我能给您的最好答案了。
Drupal是一个基于PHP编写的PAC Web框架。 :)