Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/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
Architecture IOC容器是否应负责计时观察员处理程序注册?_Architecture_Inversion Of Control_Observer Pattern - Fatal编程技术网

Architecture IOC容器是否应负责计时观察员处理程序注册?

Architecture IOC容器是否应负责计时观察员处理程序注册?,architecture,inversion-of-control,observer-pattern,Architecture,Inversion Of Control,Observer Pattern,我使用IOC容器分别设置了服务层和视图层。我的视图层有一个观察者模式,用于监听服务层中的更改。然而,在应用程序启动时,我的服务层会在我的视图层有机会注册其响应处理程序之前启动并通知观察者处理程序 这是我的IOC配置或体系结构的问题吗 更多细节 域事件经常发生。当它出现时,我希望视图层做出反应。我在启动时使用IOC容器将可观察的域对象传递给视图实例化器,然后将处理程序绑定到可观察的。当处理程序被触发时,它会实例化一个新视图,并使用presenter将其连接到其他一些域对象。听起来您好像是在IoC容

我使用IOC容器分别设置了服务层和视图层。我的视图层有一个观察者模式,用于监听服务层中的更改。然而,在应用程序启动时,我的服务层会在我的视图层有机会注册其响应处理程序之前启动并通知观察者处理程序

这是我的IOC配置或体系结构的问题吗

更多细节


域事件经常发生。当它出现时,我希望视图层做出反应。我在启动时使用IOC容器将
可观察的
域对象传递给
视图实例化器
,然后将处理程序绑定到
可观察的
。当处理程序被触发时,它会实例化一个新视图,并使用presenter将其连接到其他一些域对象。

听起来您好像是在IoC容器有机会自我引导之前向其发出请求?如果是这种情况,您要么需要处理尚未存在的事情,要么使引导同步,这样您就可以确保在第一次请求时,所有内容都准确地存在。这是国际奥委会的问题还是应用问题?现在我让IOC启动应用程序,但它只在启动前等待一个树中的组件,所以正如您所说的,它应该等待所有组件被实例化,但是如果这个配置选项存在,我找不到它。我通过在UI中添加一个run按钮暂时解决了这个问题。我认为这一定是应用程序的问题,因为容器不知道它的配置何时完成(这是由应用程序代码完成的)。