通常用于使遗留代码可测试。例如,可能存在大量静态调用,如
int importantNumber = DataAccess.LoadValue();
我创建了一个可以实例化来调用它们的类,它通常在接口后面,比如
public int LoadValue(){
return DataAccess.LoadValue();
}
然后我可以使用DI或其他任何内容并用
替换原始呼叫int importantNumber = _dataAccessInstance.LoadValue();
这个模式有名字吗?我在想'适配器',但它似乎比那更具体。
答案 0 :(得分:3)
代理。
它看起来像包装器之一 - 代理,适配器或装饰器。装饰器并不适合你,因为你没有添加任何价值;如果您从一个接口映射到另一个接口,则适配器适合;我认为代理是答案,因为您正在使用它来调解对工具包的访问。
如果您从非常大的代码库中简化对工具子集的访问,那么可能是外观。
答案 1 :(得分:3)
这是代理人。
适配器更改类的接口,以便更容易与其他clases一起使用
Facade是一个单一界面的创建,可以更轻松地与多个对象的界面进行交互。它改变了抽象层次。
装饰器不会更改界面,但会增加额外的功能
代理充当具有相同接口和相同结束功能的另一个对象的代理