创建实例以调用静态方法的模式的名称

时间:2010-12-15 14:52:38

标签: c# design-patterns

通常用于使遗留代码可测试。例如,可能存在大量静态调用,如

int importantNumber = DataAccess.LoadValue();

我创建了一个可以实例化来调用它们的类,它通常在接口后面,比如

public int LoadValue(){
    return DataAccess.LoadValue();
}

然后我可以使用DI或其他任何内容并用

替换原始呼叫
int importantNumber = _dataAccessInstance.LoadValue();

这个模式有名字吗?我在想'适配器',但它似乎比那更具体。

2 个答案:

答案 0 :(得分:3)

代理。

它看起来像包装器之一 - 代理,适配器或装饰器。装饰器并不适合你,因为你没有添加任何价值;如果您从一个接口映射到另一个接口,则适配器适合;我认为代理是答案,因为您正在使用它来调解对工具包的访问。

如果您从非常大的代码库中简化对工具子集的访问,那么可能是外观。

答案 1 :(得分:3)

这是代理人。

适配器更改类的接口,以便更容易与其他clases一起使用

Facade是一个单一界面的创建,可以更轻松地与多个对象的界面进行交互。它改变了抽象层次。

装饰器不会更改界面,但会增加额外的功能

代理充当具有相同接口和相同结束功能的另一个对象的代理