Design patterns 适配器模式是如何工作的?
我最近在学期课程中读到了关于适配器模式的内容。我已经理解了提供公共接口的概念,以便第三方API可以在我们的系统中工作 但是它在编码中是如何工作的,假设我有两个第三方SDK,例如:Design patterns 适配器模式是如何工作的?,design-patterns,adapter,Design Patterns,Adapter,我最近在学期课程中读到了关于适配器模式的内容。我已经理解了提供公共接口的概念,以便第三方API可以在我们的系统中工作 但是它在编码中是如何工作的,假设我有两个第三方SDK,例如: A(String name) A1(String Firstname,String Lastname) 现在我生成了一个公共接口,称为,IAAdapater。现在我的问题是,如何通过IAAdapater调用A(字符串名)或A1(字符串名,字符串名) 如果我错了,请纠正我 interface IAAdapater {
A(String name)
A1(String Firstname,String Lastname)
现在我生成了一个公共接口,称为,IAAdapater
。现在我的问题是,如何通过IAAdapater
调用A(字符串名)
或A1(字符串名,字符串名)
如果我错了,请纠正我
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');
如果我误解了这个问题,请告诉我
现在您只需要担心一个API:firstname,lastname。不同的适配器将处理其余部分
call A_adapter.A('will', 'smith');
call A1_adapter.A('will', 'smith');
如果我误解了这个问题,请告诉我。编辑我认为另一个答案更接近您所寻找的答案-我实际上在这里描述了一个外观 IAAdapter需要公开方法A(字符串名)和A1(字符串名、字符串名) 然后,您需要该接口的一个实现,该接口将委托给底层对象
IAAdaptor{
A(string name);
A1(string firstname, string lastnae);
}
Adaptor:IAAdaptor{
A(string name){}
A1(string firstname, string lastnae){}
}
编辑我认为另一个答案更接近你想要的——我实际上在这里描述了一个门面 IAAdapter需要公开方法A(字符串名)和A1(字符串名、字符串名) 然后,您需要该接口的一个实现,该接口将委托给底层对象
IAAdaptor{
A(string name);
A1(string firstname, string lastnae);
}
Adaptor:IAAdaptor{
A(string name){}
A1(string firstname, string lastnae){}
}
您的回答正确,但是现在
A(字符串名称)
将如何处理?因为现在您已经为lastname
和firstname
创建了一个适配器,所以A只有一个东西叫做String name
。。我有点糊涂了!不,我已经为A和A1创建了一个适配器。适配器使用代码firstname+''+lastname
处理string name
,请参阅代码。您的回答正确,但现在A(string name)
将如何处理?因为现在您已经为lastname
和firstname
创建了一个适配器,所以A只有一个东西叫做String name
。。我有点糊涂了!不,我已经为A和A1创建了一个适配器。适配器使用代码firstname+''+lastname
处理字符串名
,请参阅代码。