在处理配置设置时使用或不使用嵌套类

本文关键字:嵌套 处理 设置 配置 | 更新日期: 2023-09-27 18:14:52

我的程序有一个ReportConfiguration类,用于存储报告的配置信息。从逻辑上讲,有许多领域需要配置,即某些类型的部分如何显示等。一个朋友建议我把这些部分做成嵌套类,这样:

public abstract class ReportConfiguration{
    private class AssessmentTypeConfiguration{
    }
} 
public class MyConfiguration : ReportConfigration{}

本质上,当我要使用这些时,我将把这些配置类暴露给其他开发人员,他们可能想要扩展某些功能,或者编写一些需要修改配置的工具。因此,我希望它们能够扩展配置类,但可能存在某些我不希望它们触及的配置选项,或者在逻辑上看起来好像它们应该嵌套。

问题:是否有必要使用单独的类,或者只是为每个配置选项创建一个非常大的类,其中包含许多属性?

在处理配置设置时使用或不使用嵌套类

我建议使用单独的类,而不是一个巨大的类,原因如下:

  • 它有助于将类似的信息组合在一起,以便更容易推断
  • 如果你想从配置文件中序列化和/或读取它们包含的信息,使用较小的类会更容易,也可能更灵活
  • 如果你要使用非静态类(或者曾经想要),并且要传递实例,那么传递有限的信息比传递一个包含太阳下所有东西的巨大对象更有意义

你说有明显分开的配置区域,所以你应该有明显分开的类来匹配它。否则,单个类可能知道的太多,而类应该只负责一件事。