【发布时间】:2008-10-09 06:06:50
【问题描述】:
在我的 web 应用程序(C#,.Net 3.5)中,由一个 core 类库(包含业务逻辑、数据层和几个实用程序类)、一个 Windows 服务项目、一个webservice 项目和网站项目,我在所有其他项目使用的 core 库中有几个静态类。这些类(例如 Log 类)需要一些初始化(它们有一个 Initialize 方法)才能设置它们以供使用。例如,Log 类的Initialize 方法有一个目录路径参数,它告诉Log,将日志文件保存到哪里。或者,我正在考虑从静态构造函数的配置文件中加载 Log 类的“设置”。缺点是,我需要在生产代码中进行不同的单元测试设置。
有没有更好的设计方法?这种方法的缺点是,静态类的所有使用者都将尝试调用 Initialize。这不是一个真正的问题,因为一旦初始化,该方法将立即返回,而不是再次执行 Initialize 代码,但设计对我来说似乎有点奇怪。
我希望我的英语足以解释我所追求的。如果问题不够清楚,请不要犹豫。
【问题讨论】:
标签: c# design-patterns architecture static