Caliburn.Micro根据用户输入动态更改IOC绑定

时间:2013-02-15 04:37:25

标签: c# mvvm dependency-injection caliburn.micro

我觉得以前已经多次回答过,我只是没有经验知道如何寻找答案。所以,我提前为这个愚蠢的问题道歉。

在这里,我使用Caliburn.Micro并且正在考虑使用某种IoC容器来获得依赖注入的好处。我认为其唯一目的是更改应用程序的配置设置。如果用户保存了任何更改,我使用EventAggregator将设置发布到配置文件管理器。配置文件管理器进行更改,将它们保存到文件,然后通过Event Aggregator发布所有设置。其中一个设置是与无线电的串行端口连接的ComPort和波特率。

现在进行依赖注入。据我所知,您在Bootstrapper中设置绑定,并在应用程序启动时进行配置。如何动态更改此设置,以便在请求时始终返回RadioReader(newComPort,newBaudRate)。此外,我还要求用户通过UDP端口与无线电通信。所以,我想创建一个IRadioReader接口,允许用户动态更改传输和设置。可以这样使用IoC吗?

1 个答案:

答案 0 :(得分:0)

使用IOC时,通常会在应用程序根目录中配置所有依赖项,这些依赖项将在应用程序的生命周期内保持不变。

对于任何可配置/可更改的依赖项,您应该依赖于抽象工厂,该工厂将使用可配置行为创建初始依赖项。

有关模式的详细概述,请参阅here