MVC是否定义了一个控制器如何与另一个控制器通信?

时间:2011-11-25 09:34:53

标签: model-view-controller design-patterns

我指的是一般的MVC设计模式(如Wikipedia中所定义)。在进行GUI密集型应用程序时,我通常会有很多控制器,有时控制器可以将事件发送到另一个控制器。

MVC一般定义控制器应如何与控制器通信?控制器可以成为层次结构中更高层的控制器的模型吗?

示例 假设我有一个窗口(由控制器/模型/视图表示),该窗口能够启动另一个子窗口。子窗口是模态的,并且将接受某些输入。输入将影响主窗口中的某些进程。

3 个答案:

答案 0 :(得分:2)

没有。你不能用MVC做到这一点。您希望使用某种分层模式,如下列两种模式之一:

答案 1 :(得分:0)

没有控制器不能成为另一个控制器的模型。控制器只能通过Get或Post

传递参数

答案 2 :(得分:0)

参考Wiki模型 - 视图 - 控制器(MVC)是一种将信息表示与用户与之交互分开的架构。

据说它没有定义任何事件机制,因此没有内部控制器通信的规范。

现在回答你的问题。

您可以从一个控制器渲染视图并将数据提交给另一个控制器。应该可以正常工作。

使用<form action = "parentcontroller/parentaction">定义表单以使其发生。