我们有一个保存应用程序配置信息的类。它曾经是一个单例。在一些架构审查之后,我们被告知要删除单例。我们确实看到了单元测试中不使用单例的一些好处,因为我们可以一次测试所有不同的配置。
如果没有单例,我们必须在代码中到处传递实例。它变得如此混乱,所以我们写了一个单例包装器。现在我们正在将相同的代码移植到PHP和.NET,我想知道是否有更好的模式可以用于配置对象。
发布于 2009-08-19 15:30:17
这取决于什么工具/框架等。正被使用。使用依赖注入/ioc工具,人们通常仍然可以通过让di/ioc容器对所需的类(如IConfigSettings接口)使用单例行为来获得单例性能/优化,只需创建类的一个实例。这仍然可以用来替代测试
或者,您可以使用工厂来创建类,并在每次请求时返回相同的实例-但为了测试,它可以返回存根/模拟版本
https://stackoverflow.com/questions/1300655
复制相似问题