什么是最好的设计模式?

时间:2012-03-16 10:22:16

标签: c# design-patterns adapter

我需要在外部库和客户端代码之间添加一个层,这样客户端就可以与底层库保持一致的接口,并且我们可以用最少的代码更改来切换库。

例如:

public interface IConsistentInterface
{
    void Foo(string bar);
    void Bar(string foo);
}

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

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

感谢。

1 个答案:

答案 0 :(得分:4)

似乎Gateway模式可能很适合这里。但是,正如您所说,Adapter模式也适用于您。事实上,考虑到它,两者在代码中看起来似乎没什么区别。

您不能将外部API规范化为您的代码可以持续使用的另一个API。如果外部API发生更改,则中断代码将仅限于您的规范化API,您可以在其中执行修复或损坏限制。净效应和两种模式的目标都是对代码其余部分的影响大大减小。