一、适配器模式简介
- 简介:将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作
- 特点:注重兼容、转换。适配者与被适配这之间没有层级关系,也没有必然联系。
- 归类:结构型模式
二、实战演练
demo事例:我们常用的场景中一个登入接口各种登入方式
- 登入接口 LoginService.java
package com.demo.adapter;
public interface LoginService {
/**
* 登录的方法
* @param username
* @param password
* @return
*/
public void login(String username,String password,String type);
}
- 扩展的实现类 LoginExtendService.java
package com.demo.adapter;
/**
* 整体登入扩展的方法
*/
public class LoginExtendService implements LoginService{
public void loginByQQ(String openId){
//通过openId转换现有的用户,如果没有则注册在调用登入接口,可能要做特殊处理逻辑
login(openId,null,"QQ");
}
public void loginByWeixin(String openId){
login(openId,null,"weixin");
}
public void loginForTelphone(String phone,String code){
//验证验证码之后,没有用户的情况可能要注册,等其它逻辑,然后在登入
login(phone,null,"phone");
}
@Override
public void login(String username, String password,String type) {
System.out.println("用户:【"+username+"】 通过【"+type+"】方式登入成功");
}
}
- 测试 AdapterTest .java
package com.demo.adapter;
public class AdapterTest {
public static void main(String[] args) {
LoginExtendService loginExtendService=new LoginExtendService();
loginExtendService.loginByQQ("afasfasfasdfa");
//在不改变原来代码的情况下,兼容新的需求;
}
}
网友评论