java - 中介模式在这种情况下有效吗?

标签 java user-interface design-patterns class mediator

所以对于我目前的项目,基本上有三个主要的Java类:

  1. 界面
  2. 即时通讯
  3. 计算

本质上,需要进行充分的沟通,因此我们决定使用调解器方法,而不是让 GUI 来运行整个项目。

基本上,中介将封装通信。我们遇到的问题是如何允许 GUI 组件更新,而无需为调解器构建大量方法以在某事完成时随时调用。

例。假设 GUI 想要登录用户,它通过中介创建线程并登录,但中介必须将成功/失败中继回 GUI 并更新状态消息。

另一个问题是需要更新 GUI 但不需要版主的东西。只允许 GUI 创建该类的实例并运行它是否可行,还是一切都应该通过中介?

我们最初的设计只是让 GUI 管理一切,但这确实扼杀了可重用性。在这种情况下是否有更好的设计方法?

最佳答案

如果您发现 Observer 带来太多开销,Mediator 可能是最好的选择。我绝对认为您不应该让 GUI 运行节目。如果您打算使用调解器模式,调解器本身应该负责。您可能会考虑命令模式的变体。如果您使用的是 Ruby,我可能会建议传递函数回调,以避免让中介为每一件小事联系 GUI。但由于它是 Java,以命令模式样式封装操作的某种形式可能会有所帮助。

关于java - 中介模式在这种情况下有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/965481/

相关文章:

python - 模块中函数的条件定义

java - 即使设置为通知也不会播放声音或显示灯光

linux - 我如何创建一个位于所有其他窗口之上、不受 WM 控制且没有输入的 X 窗口/客户端? (覆盖,OSD)

java - 在java中制作我自己的事件的正确方法是什么

java - 如何在我的代码中实现 GUI?

javascript - 为什么匿名函数在其语句中比在调用中具有更多参数

java - java中Singleton的并发访问

java - jackson map 序列化,键的自定义序列化器不被调用

java - 尝试在 Android 中打开 Excel 文件时不断收到 FileNotFound 异常

java - AndroidnotifyDataSetChanged导致解析idx 1 Illegal State Exception