如何在java中为两个独立的库创建一个通用的包装器

时间:2016-05-16 14:32:17

标签: java design-patterns

我正在使用一个与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和amp;之间创建包装器用户的L2库。在该包装器中,用户将能够选择L1或L2库,但不能同时选择两者。

创建这种类型的包装器有什么好方法?关于设计模式的建议会有所帮助。

1 个答案:

答案 0 :(得分:1)

使用公共签名创建描述方法的接口。然后创建几个实现此接口的类,并在这些类中处理不同的实现。您可以在正确的类中使用,并根据需要实现不同的行为。