【发布时间】:2011-12-31 16:00:02
【问题描述】:
据我了解,MVP 是 MVC 的衍生品,其中 Model 和 View 松散或完全解耦,Presenter 取代了 Controller,充当 View 和 Model 之间的桥梁。这种模式在 Web 应用程序中似乎比传统的 MVC 更合适(是否正确不是这个问题的主题,所以请不要朝那个方向走)。
我的问题是在 PHP 中使用被动视图实现各种 MVP 部分。这是我目前的工作流程:
- PHP 脚本设置自动加载器和路由器。对我来说,这意味着任何存在的视图都会向服务器发送某种事件。
- 然后路由器根据请求确定应该使用哪个演示者。
- 这里是龙。 Presenter 充当 View 和 Model 之间的桥梁,应该将 View 和 Model 作为依赖项,以便可以轻松地对其进行测试。这意味着我需要知道在创建演示者之前我应该使用什么模型和视图。
presenter 似乎是知道它需要什么 Model 和什么 View 的类,那么我怎样才能将这个逻辑移出 Presenter?我知道要使用的通用模式是工厂,但在这种情况下我似乎无法理解如何实现它。
也许我做错了。也许我已经编码了太长时间并且正在经历思维扭曲。不管为什么我似乎无法理解如何解决这个问题,我都会接受任何指导。
【问题讨论】: