【问题标题】:Which approach is better to structure configuration in app.config?哪种方法更好地在 app.config 中构建配置?
【发布时间】:2018-10-06 17:27:30
【问题描述】:

我的应用中有一些设备和一些模块使用设备来完成工作。

配置结构有两种方式:

方法一:

<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
    }
}

另外:

模块可以解决以下问题:

  • 从所有设备收集诊断数据
  • 根据来自不同设备的数据计算
  • 查看事件处理并执行设备命令

我应该如何构建配置?

【问题讨论】:

    标签: c# .net configuration structure app-config


    【解决方案1】:

    根据您的解释,您的项目的主要实体似乎是模块,而设备的目的是允许模块完成它们的工作。如果这是真的,那么方法 2 似乎是最合乎逻辑的方法。

    此外,第二种方法允许您轻松提供与设备不直接相关的模块配置(例如数据库连接、资源位置或日志记录);使用方法 1,您必须为每个设备复制此信息。

    【讨论】:

      猜你喜欢
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 2016-05-10
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多