2013-05-03 62 views

回答

4

控制器应该是独立的。它们只是模型层和视图层之间的粘合剂。如果他们需要彼此交谈,你会遇到设计问题。

你可以做一个服务类,负责控制器之间的消息发送。但是管制员不应该意识到彼此。

+0

我需要表示错误显示功能的顺序图。和我的信息控制器必须创建错误控制器 – user1993478 2013-05-03 18:56:43

0

除非你正在实现更像HMVC的东西,否则一个信号(请求,命令,无论你怎么称呼它)都应该由一个控制器来处理。

如果你需要你的控制器进行通信,那应该通过模型层进行。

您通常会在应用程序中以控制器视图对结束。在每个页面的web上下文中。在桌面应用程序中 - 每个控件都有一个控制器 - 视图对(如它最初的意图),或者每个窗口(或者可能是元素组)。

+0

我需要表示错误显示功能的顺序图。和我的信息控制器必须创建错误控制器 – user1993478 2013-05-03 18:55:33

+0

由于您没有描述环境,我会假设我们在这里正在讨论“桌面应用程序”。 “错误”是模型层的状态。您执行了更改模型层的操作,并且它触发了错误状态。负责显示所述错误的视图将观察模型,并且一旦状态改变,就会显示错误。这甚至不需要另一个控制器的参与。如果环境是“网络”,那么处理错误呈现的视图将与接收数据和改变模型的控制器相同。 – 2013-05-03 19:04:18

+0

环境非常简单,只是一个网络应用程序,错误应该在错误的登录凭证上提出 – user1993478 2013-05-03 19:08:00

0

正如之前提到的teresko,您可能想看看hmvc模式。 Mvc在收集控制器范围之外的数据方面有很大的局限性,这就是为什么一些框架具有小部件和组件等东西,这些东西往往会使事情变得复杂一些。 Hmvc是解决方案,因为您可以从单个控制器调用多个“模块”。