通常这样做是为了使遗留代码可测试。例如,可能会有大量静态调用,例如
int importantNumber = DataAccess.LoadValue();
我创建了一个可以实例化的类来调用这些类,该类通常位于接口(interface)后面,例如
public int LoadValue(){
return DataAccess.LoadValue();
}
然后我可以使用 DI 或其他方式,并将原始调用替换为
int importantNumber = _dataAccessInstance.LoadValue();
这个模式有名字吗?我在想“适配器”,但它似乎比这更具体。
最佳答案
代理。
它看起来像包装器之一——代理、适配器或装饰器。装饰器并不真正适合,因为你没有增加任何值(value);如果您要从一个接口(interface)映射到另一个接口(interface),则适配器适合;我认为代理就是答案,因为您使用它来协调对工具包的访问。
如果您要简化对非常大的代码库中的工具子集的访问,则可能是外观。
关于c# - 您创建实例以调用静态方法的模式的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4451190/