Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA观察者多IHM_Java_Design Patterns_Observer Pattern - Fatal编程技术网

JAVA观察者多IHM

JAVA观察者多IHM,java,design-patterns,observer-pattern,Java,Design Patterns,Observer Pattern,我的老师有一个JAVA应用程序,由一个控制器组成,该控制器通知所有不同的HMI,我想复制它 但是HMI和控制器是真正独立的:他必须启动控制器(使用一个可运行的jar),然后使用另一个可运行的jar,他可以启动他想要的任意多个HMI 一种解决方案可能是使用套接字编程,但我想知道他是否可以使用另一种解决方案而不使用长途电话。观察者只能通知其项目中包含的对象,不是吗 我想在“本地”工作,这就是为什么我在寻找套接字编程以外的另一种解决方案。对于通知,您可以使用,但由于您有单独的进程,因此需要分布式观察者

我的老师有一个JAVA应用程序,由一个控制器组成,该控制器通知所有不同的HMI,我想复制它

但是HMI和控制器是真正独立的:他必须启动控制器(使用一个可运行的jar),然后使用另一个可运行的jar,他可以启动他想要的任意多个HMI

一种解决方案可能是使用套接字编程,但我想知道他是否可以使用另一种解决方案而不使用长途电话。观察者只能通知其项目中包含的对象,不是吗


我想在“本地”工作,这就是为什么我在寻找套接字编程以外的另一种解决方案。

对于通知,您可以使用,但由于您有单独的进程,因此需要分布式观察者或通知概念

如何实现有很多选项,其中一个选项是使用代理,例如ActiveMQ,然后使用topic,因此控制器会向某个主题生成消息,并且所有侦听该主题的HMI都会收到该消息(将收到通知),
但您也可以通过套接字或RPC实现。

HMI到底是什么(或IHM,无论拼写是否正确)?@zubergu:我想可能是GUI(例如,在法语中,我们称之为IHM:Interface Homme Machine)。是的,也可以是英语中的人机界面。在我的示例中,HMI是一个在SWING中开发的网格。我的老师使用RPC,但我将检查您的解决方案!谢谢你的回答!