【问题标题】:MVC modular GUI componentsMVC 模块化 GUI 组件
【发布时间】:2012-03-25 08:53:06
【问题描述】:

我正在尝试寻找使用 MVC3 和 AJAX 构建复杂网页的方法。

我想使用组件来实现这一点。 每个组件都由它自己的模型、视图和控制器组成。

然后将多个组件放置在一些复杂的视图上,并且应该一起行动以 提供所需的行为。

在某些情况下,当用户与其中一个组件执行某些操作(交互)时, 我必须通过 AJAX 更新页面的其他部分。 发生动作(交互)的组件,在它的实现中,不假设任何关于它将被使用的视图以及页面的哪些部分应该更新以及如何更新。

因此,当某些组件中发生某些交互时,我需要一种机制(外部组件本身)来处理这种情况并更新页面的适当部分。 一般来说,您将如何实施这种机制?

【问题讨论】:

    标签: ajax asp.net-mvc-3 model-view-controller


    【解决方案1】:

    我会使用Mediator Pattern,有时也被错误地称为经理模式。

    此类将调解您的组件的通信。

    【讨论】:

    • 例如,我有两个组件和一个具体的中介:ComponentA (ModelA, ViewA, ControllerA)。组件B(模型B、视图B、控制器B)。 MediatorX(知道 ComponentA 和 ComponentB 以及它们应该如何交互)。 ComponentA 和 ComponentB 是参数化的(模型),并且知道它们正在使用 MediatorX。现在,当用户执行一些活动时,ControllerA 中的操作就会被执行。
    • 在这个 ControllerA 动作中,我创建 MediatorX 并调用一些方法来传递所有相关数据 - 例如发送者“ComponentA”,动作是“UserDoneSomething”,附加数据是“123”。然后 MediatorX 在 ControllerB 中执行一些操作并返回结果,然后将结果发送回客户端。这是一个好方法(或太复杂)还是我遗漏了什么?
    • 感谢您的帮助...我还将在新问题中发布 MVC 和调解器实现,因为这将是题外话
    猜你喜欢
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-30
    • 2021-04-19
    • 1970-01-01
    相关资源
    最近更新 更多