0

我熟悉前端控制器模式,其中所有事件/请求都通过单个集中控制器处理。

但是,当您希望在表示层也将应用程序的各个部分分开时,您会怎么称呼它?我的第一个想法是“门面”,但事实证明这是完全不同的东西。

在我的特殊情况下,我正在将一个应用程序从一个庞大的程序混乱转换为一个干净的 MVC 架构,但这是一个长期的过程——我们需要尽可能地将事物分开,以促进与其余部分的缓慢集成系统。我们的应用程序是基于 Web 的,使用 PHP 构建的,例如,我们有一个“index.php”和一个 IndexController、一个“account.php”和一个 AccountController、一个“dashboard.php”和 DashboardController,等等。

4

5 回答 5

4

PoEAA 将这样的东西称为“页面控制器”,每个 Web 服务器上的一个模块充当站点上每个页面的控制器。

于 2010-03-24T21:15:33.963 回答
3

看看PoEAA 的 Web 表示模式

  • 模型视图控制器- 将用户界面交互拆分为三个不同的角色。
  • 页面控制器- 处理对网站上特定页面或操作的请求的对象。
  • 前端控制器- 处理网站所有请求的控制器。
  • 模板视图- 通过在 HTML 页面中嵌入标记将信息呈现为 HTML。
  • 转换视图- 逐个元素处理域数据并将其转换为 HTML 的视图。
  • 两步视图 -分两步将域数据转换为 HTML:首先通过形成某种逻辑页面,然后将逻辑页面呈现为 HTML。
  • 应用程序控制器- 处理屏幕导航和应用程序流程的集中点。
于 2010-03-24T21:17:24.960 回答
2

AdapterFactoryStrategy似乎都是隐藏底层代码的适用方式,但就像 BillyONEal 一样,我不确定你在问什么,因为看起来简单地模块化代码会起作用,但我不知道模块化模式。

于 2010-03-24T21:12:28.717 回答
2

我对您在这里问的问题感到困惑,因为表示层已经是独立的——视图提供了该功能。如果您有一个页面的公共部分应该存在于所有视图中,也许您正在寻找类似View Helper 模式的东西?使用现有的 PHP 开发框架,如 Zend_Framework 或 CakePHP 或 CodeIgniter 有办法做到这一点。

于 2010-03-24T21:02:26.193 回答
0

我什至会称它为控制器的组合。所以你可以称它为模块化组合控制器。

于 2010-03-24T21:20:42.530 回答