我最近在我的学期课程中阅读了适配器模式。我已经理解了提供通用接口的概念,以便第三方API可以在我们的系统中工作。
但它如何在编码中起作用,假设我有两个第三方SDK,例如:
A(String name)
A1(String Firstname,String Lastname)
现在我生成一个名为IAAdapater
的通用接口。现在编写代码,现在我的问题是,如何通过A(String name)
调用A1(String Firstname,String Lastname)
或IAAdapater
?
如果我错了,请纠正我!
答案 0 :(得分:2)
编辑我认为另一个答案更接近您所寻找的内容 - 我实际上是在这里描述一个Facade。
您的IAAdapter需要公开方法A(String name)和A1(String Firstname,String Lastname)
然后,您需要一个委托给底层对象的接口的实现。
IAAdaptor{
A(string name);
A1(string firstname, string lastnae);
}
Adaptor:IAAdaptor{
A(string name){}
A1(string firstname, string lastnae){}
}
答案 1 :(得分:1)
interface IAAdapater {
A(firstname, lastname)
}
// Adapter for A SDK
A_adapter implements IAAdapter {
A(firstname, lastname) {
call A(firstname + ' ' + lastname)
}
}
// Adapter for A1 SDK
A1_adapter implements IAAdapter {
A(firstname, lastname) {
call A1(firstname, lastname)
}
}
现在您只需要担心一个API:firstname,lastname。不同的适配器将处理其余的。
call A_adapter.A('will', 'smith');
call A1_adapter.A('will', 'smith');
如果我误解了这个问题,请告诉我。