您更喜欢在一个位置读取配置文件中的参数,并将它们作为参数传递给模块/函数,还是在需要时读取它们?
答案 0 :(得分:2)
是的,我更倾向于将它们作为参数传递,而且它并不接近。除了设置应用程序根目录之外,System.Configuration
类永远不会永远不会渗透到您的类中。
System.Configuration
。答案 1 :(得分:2)
我不同意Jason's answer。
组件通常最好从配置文件中读取自己的配置。
例如,在经典的3-tier architecture(表示,业务逻辑和数据访问)中,数据访问层最好从应用程序配置文件中获取自己的配置(数据库连接字符串等),而不是表示层需要关注它。
框架中的其他示例:
WCF基础结构从应用程序配置文件中读取自己的复杂配置信息。期望想要使用WCF的应用程序必须读取此配置信息并将其传递,这将是荒谬的。
ASP.NET成员资格子系统从web.config
读取自己的配置数据。
答案 2 :(得分:1)
将它们作为参数传递或创建一个类来读取它们。你应该只从一个地方读取它们,所以如果它们改变了重构就很容易。
答案 3 :(得分:0)
这取决于,所有模块都需要这些参数吗?您的模块多久需要一次?等等。一种方法是在应用程序启动时读取它们。参数对象存储在dependency injection容器中,如Unity或Spring.NET。并且在我的模块中需要时注入对象(当创建新模块时)。
如果很少使用这些参数,您可以在创建模块时按需加载它们。
答案 4 :(得分:0)
取决于场景。
通常配置文件与应用程序的配置有关;这意味着,根据这些配置,应用程序应做出决定。例如,连接字符串参数,或告诉应用程序在测试模式或实时模式下运行的参数。
此外,只有在访问特定功能时,应用程序才需要参数。