我正在使用一个与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库,但不能同时选择两者。
创建这种类型的包装器有什么好方法?关于设计模式的建议会有所帮助。
答案 0 :(得分:1)
使用公共签名创建描述方法的接口。然后创建几个实现此接口的类,并在这些类中处理不同的实现。您可以在正确的类中使用,并根据需要实现不同的行为。