• 设计模式八 适配器模式


    0、基本定义

    将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

    通俗的讲,在不改变老系统的功能接口情况下,作向下兼容。

    spring中以Adapter结尾的都是。

    1、实例代码(类间继承)

    功能:对原来对账号密码登入方式,添加第三方登入。

    老接口:

    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;
        }
    }

    2、使用场景:

    主要针对老系统的改造、接口的不兼容。补偿模式

    3、优点:

    》可以让两个没有关系对类在一起运行

    》增加了透明性

    》提高了类的复用度

    》灵活性好

    4、总结

    适配器有两种模式。一种是前面讲到的 类间继承,还有一种是 对象适配器,是对象的合成关系。

    ====================================

    记笔记好难,写心得更难。真是东拼西凑啊

    ===================================

    参考资料:

    咕泡学院

    《设计模式之蝉》

  • 相关阅读:
    Reactivecocoa初级使用
    javascript中typeof用法
    javascript进阶修炼之二——DOM,事件及定时器
    javascript进阶修炼之一——javascript必备操做
    HttpClient通信
    JSON和JSONP简单总结
    cordova学习-基础篇
    浅析Java虚拟机结构与机制
    HTML5移动Web开发指南-学习笔记(一)
    spring beans 源码解读
  • 原文地址:https://www.cnblogs.com/idea-persistence/p/9563241.html
Copyright © 2020-2023  润新知