我的应用中有一些设备和一些模块使用设备来完成工作。
配置结构有两种方法:
方法1:
<device1>
<configurationForModule1 />
<configurationForModule2 />
</device1>
<device2>
<configurationForModule1 />
<configurationForModule2 />
</device2>
然后使用类似下面的示例:
public class Module1 {
private readonly _device1;
public Module1(Device1 device1) {
_device1 = device1;
// configuration for this module in _device1.Configuration.Module1
}
}
方法2:
<configurationForModule1>
<device1 />
<device2 />
</configurationForModule1>
<configurationForModule2>
<device1 />
<device2 />
</configurationForModule2>
然后使用类似下面的示例:
public class Module1 {
private readonly _device1;
public Module1(Module1Configuration configuration, Device1 device1) {
_device1 = device1;
// configuration for this module in configuration.Device1
}
}
另外:
模块可以解决以下问题:
我应该如何构建配置?
答案 0 :(得分:1)
根据您的解释,您的项目的主要实体看起来像是模块,设备的目的是让模块完成他们的工作。如果这是真的,那么方法2似乎是最合乎逻辑的。
此外,第二种方法允许您轻松提供与设备无直接关系的模块配置(例如数据库连接,资源位置或日志记录等);使用方法1,您必须为每个设备复制此信息。