2012-03-16 86 views
4

我需要在外部庫和客戶端代碼之間添加一個圖層,以便客戶端具有與底層庫一致的接口,並且我們可以用最少的代碼更改來切換庫。這是最好的設計模式是什麼?

例如:

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

內部此接口的具體實現將調用到庫,使用任何功能會提供。這樣如果我們切換出庫,我們只需要改變這個接口的具體類型的內部調用。

這看起來像我適配器模式,但這是最好的方法來解決這個問題?

謝謝。

回答

4

看起來Gateway模式可能很適合這裏。但是,正如你所說,Adapter模式也可以爲你工作。事實上,考慮這兩者在代碼中的可能性看起來沒有什麼區別。

你不能錯誤地將外部API規範化爲另一個API,你的代碼可以持續使用。如果外部API發生更改,則破壞代碼將限制爲您的規範化API,您可以在其中執行修復或損壞限制。淨效應和兩種模式的目的都是爲了減少代碼其餘部分的表面積。

相關問題