哪种方法更适合在app.config中构造配置?

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


有两种配置结构的方法:


方法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

    }

}

方法二:


<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

    }

}

此外:

模块可以解决以下问题:

  • 从所有设备收集诊断数据

  • 根据来自不同设备的数据进行计算

  • 查看事件处理并执行设备命令

我应该如何构造配置?


守候你守候我
浏览 114回答 1
1回答

茅侃侃

从您的解释看来,项目的主要实体似乎是模块,而设备的目的是让模块完成其工作。如果是这样,那么方法2似乎是最合乎逻辑的方法。此外,第二种方法使您可以轻松提供与设备不直接相关的模块配置(例如数据库连接,资源位置或日志记录之类的东西)。使用方法1,您将必须为每个设备复制此信息。
打开App,查看更多内容
随时随地看视频慕课网APP