2016-05-16 30 views
1

我正在與一個java網絡相關項目一起工作,其中兩個獨立庫被保留用於相同目的。如何在java中爲兩個獨立庫創建通用包裝器

例如,

public class L1 
{ 
    public T1 sendRequest(Type1 t1, Type2 t2, Type3 t3) 
    { 

    } 

    public T2 getLastResponse(Type1 t1, Type1 t1, Type4 t4) 
    { 

    } 

    ..... 
} 

public class L2 
{ 
    public T1 sendMessage(Type1 t1, Type3 t4) 
    { 

    } 

    public T2 getLastMessage(Type1 t1, Type1 t2, Type4 t4, Type1 t1) 
    { 

    } 

    ..... 
} 

在此,L1是表示一個庫和L2是代表另一個庫。

L1和L2之間沒有關係,函數名稱可能不同。就像L1有一個名爲sendRequest的函數,L2有一個名爲sendMessage的函數。但是兩者都可以執行相同的操作並且它們的返回類型相同。

我想爲L1用戶創建L2庫之間的包裝。在該包裝器中,用戶將能夠選擇L1或L2庫,但不能同時選擇兩者。

什麼是創建這種類型的包裝的好方法?有關設計模式的建議將會有所幫助。

回答

1

使用通用簽名創建描述該方法的接口。然後創建一個實現這個接口的類,並在這些類中處理不同的實現。您可以製造適當的類來使用,並根據需要實現不同的行爲。

相關問題