【问题标题】:In a MVC pattern, is it ok for a controller to create it own view?在 MVC 模式中,控制器可以创建自己的视图吗?
【发布时间】:2015-03-02 20:03:41
【问题描述】:

我知道view 不应该知道它是controller,但是controller 可以创建自己的view 还是应该始终将view 作为参数传递给controller?

谢谢

【问题讨论】:

    标签: java design-patterns model-view-controller view controller


    【解决方案1】:

    没有上下文很难回答,但一般来说不会。控制器、视图和模型应该在接口级别(或至少是高度抽象的)定义,以便控制器可以控制多个不同的视图来实现所需的合同。

    话虽如此,可能需要控制器来创建新视图,例如在向导样式设置中,但在这种情况下,我会使用模型或工厂方法来执行物理操作,从而使控制器更加灵活

    【讨论】:

    • 感谢您的快速回答。如果我可以问,控制器应该控制多个视图吗?或者他们应该有一个不同的控制器?
    • 不,控制器和视图一般是一对一的关系
    • 需要注意的是,在其生命周期内,控制器可以负责控制多个视图,但一次只能控制一个视图
    • 你现在让我质疑它的实用性。什么时候应该使用 MVC 模式?
    • 应尽可能使用MVC,将视图的功能与实现细节分开,并将视图负责可视化的数据分开。我要说的是,视图实例和控制器实例之间通常存在一对一的关系,但是在应用程序的生命周期中,任何一个都可能发生变化(即控制器的同一个实例可能用于管理多个视图,但一次只能管理一个)
    猜你喜欢
    • 2013-09-02
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多