这个问题最适合使用哪种设计模式?

4
我有一个要求,需要在外部库和客户端代码之间添加一层,使得客户端拥有与底层库的一致接口,我们能够以最少的代码更换库。
例如:
public interface IConsistentInterface
{
    void Foo(string bar);
    void Bar(string foo);
}

在内部,该接口的具体实现将调用库,使用提供的任何功能。这样,如果我们更换库,我们只需要更改此接口的具体类型的内部调用。

对我来说,这看起来像是适配器模式,但这是否是解决问题的最佳方法?

谢谢。

1个回答

4
似乎Gateway模式可能很适合这里。但是,正如您所说,Adapter模式也可以很好地为您工作。实际上,在考虑它时,两者在代码中的外观似乎没有太大区别。
将外部API规范化为另一个API,以便您的代码可以一致地使用。如果外部API发生更改,则破坏代码将仅限于您的规范化API,您可以进行修复或损坏限制。净效应和两种模式的目标都是在您的其余代码上减少影响表面积。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接