将一个类的接口变换成客户端所期待的另外一种接口,从而使本来因接口不匹配而没法在一块儿工做的两个类可以在一块儿工做。spring
通俗的讲,在不改变老系统的功能接口状况下,做向下兼容。设计模式
spring中以Adapter结尾的都是。spa
功能:对原来对帐号密码登入方式,添加第三方登入。设计
老接口:code
public class SiginService { public ResultMsg regist(String userName, String ps) { //业务代码 return new ResultMsg(0, "注册成功", null); } public ResultMsg login(String userName, String pass) { return new ResultMsg(0, "登入成功", null); } }
扩展接口。 继承对象
/** * 不动原来的方法,直接扩展新功能 * @author zzf * @date 2018/8/30 13:06. */ public class SiginForThirdService extends SiginService { public ResultMsg LoginForQQ(String openId) { return null; } public ResultMsg LoginForWechat(String openId) { return null; } public ResultMsg LoginForToken(String token) { return null; } public ResultMsg LoginForTelephone(String phone, String code) { return null; } public ResultMsg LoginForRegister(String userName, String password) { return null; } }
主要针对老系统的改造、接口的不兼容。补偿模式blog
》能够让两个没有关系对类在一块儿运行继承
》增长了透明性token
》提升了类的复用度接口
》灵活性好
适配器有两种模式。一种是前面讲到的 类间继承,还有一种是 对象适配器,是对象的合成关系。
====================================
记笔记好难,写心得更难。真是东拼西凑啊
===================================
参考资料:
咕泡学院
《设计模式之蝉》