gpt4 book ai didi

model-view-controller - MVC/MVP 中的 Controller 间通信

转载 作者:行者123 更新时间:2023-12-04 20:52:13 25 4
gpt4 key购买 nike

MVC/MVP 中松耦合 Controller 间通信的好方法是什么?

例如,在 Quote 中,用户必须创建并添加新联系人,或添加现有联系人。

他们选择创建一个新联系人。完成后,联系人将添加到报价中,并且 UI 将用户返回到该报价。如果他们点击取消,他们将返回到报价。

我想在其他地方重新使用 Contact,因此它不应该知道 Quote 的任何信息。例如,如果我从联系人列表中创建了一个联系人,它应该在完成后返回那里。

以下是我想到的一些选项:

  • ContactsController Action 调用 ApplicationController.getNextStep(this),ApplicationController 代表 ContactsController 计算出下一步
  • ContactsController 引发“actioncomplete”事件或类似事件,ApplicationController 正在监听此事件,并调用正确的下一步
  • QuoteController 将“指挥棒”传递给下一步的 ContactsController,ContactsController 在完成后调用
  • ContactsController 引发“actioncomplete”事件或类似事件,并且 QuotesController 正在监听此事件,并调用正确的下一步。

  • 你有这些经验吗?其他想法?在大型应用程序中,哪个会引起最少的头痛?

    谢谢!

    最佳答案

    您可以实现某种形式的导航堆栈,首先将 Quote 或 Contacts Controller 插入其中,然后在需要时将 Contact Controller 插入其中。当 Contact Controller 完成后,它会自动弹出并在下一个达到峰值以知道去哪里。这样它就完全解耦了,可以在任何地方重复使用,并且可以嵌套 n 级深。

    关于model-view-controller - MVC/MVP 中的 Controller 间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9268653/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com