所以对于我目前的项目,基本上有三个主要的Java类:
- 界面
- 即时通讯
- 计算
本质上,需要进行充分的沟通,因此我们决定使用调解器方法,而不是让 GUI 来运行整个项目。
基本上,中介将封装通信。我们遇到的问题是如何允许 GUI 组件更新,而无需为调解器构建大量方法以在某事完成时随时调用。
例。假设 GUI 想要登录用户,它通过中介创建线程并登录,但中介必须将成功/失败中继回 GUI 并更新状态消息。
另一个问题是需要更新 GUI 但不需要版主的东西。只允许 GUI 创建该类的实例并运行它是否可行,还是一切都应该通过中介?
我们最初的设计只是让 GUI 管理一切,但这确实扼杀了可重用性。在这种情况下是否有更好的设计方法?
最佳答案
如果您发现 Observer 带来太多开销,Mediator 可能是最好的选择。我绝对认为您不应该让 GUI 运行节目。如果您打算使用调解器模式,调解器本身应该负责。您可能会考虑命令模式的变体。如果您使用的是 Ruby,我可能会建议传递函数回调,以避免让中介为每一件小事联系 GUI。但由于它是 Java,以命令模式样式封装操作的某种形式可能会有所帮助。
关于java - 中介模式在这种情况下有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/965481/