我已经在研究.net项目,但我认为这个问题适用于任何编程语言/框架.
问题是读取类库配置的好方法是什么.我可以想到以下选项:
>从应用程序域的配置文件中读取.例如,在.net web app的情况下,从web.config中读取
>从为此类lib创建的特定自定义文件中读取.就像为类lib创建一个xml文件并将配置放在那里一样.
>调用者应该传递类lib所需的配置(通过类构造函数).因此,在这种情况下,类lib不直接从配置文件中读取,而是希望调用者发送所需的信息.
任何想法/偏好?
解决方法
令人惊讶(或不足为奇?)这取决于.
从开发人员的角度来看,通过库API提供调用者供应配置是可取的,因为它允许库在更广泛的上下文中使用,而不依赖于库的托管方式.提供可以从应用程序域或私有文件中提取的配置加载程序是很重要的,如果不执行任何配置,那么合理可用的默认值就是理智上的保护程序.
从运算符的角度来看,能够覆盖开发人员提供的任何设置也很有用,因为它们在您的环境中没有意义.但是,如果开发人员故意试图强迫你的环境形状,我不清楚它是如何工作的.
我认为最好的妥协是允许所有三种可能性,as log4net does.