美文网首页
android-学渣系列- 设计模式学习 - 适配器模式和代理模

android-学渣系列- 设计模式学习 - 适配器模式和代理模

作者: 品味与回味 | 来源:发表于2019-01-10 12:19 被阅读10次
    image.png

    将一个类的接口转换成我们希望的另外一个接口,

    下面是代理模式

    image.png

    为其他对象提供一种代理以控制对这个对象的访问

     public   interface   LognSubject {
         abstract  void logn();
    }
    
    
    
    public class RealSubject implements   LognSubject {
    
        @Override
        public void logn() {
            Log.i("111","");
    
        }
    }
    
    
    public class Proxy implements   LognSubject {
        LognSubject lognSubject ;
    
        public Proxy(LognSubject lognSubject) {
            this.lognSubject = lognSubject;
        }
    
        @Override
        public void logn() {
            if(lognSubject==null){
                lognSubject.logn();
    
            }else{
                lognSubject.logn();
    
            }
        }
    
    
       /**
             * 代理模式
             *   通过接口 让代理和real都具有相同的方法
             */
    
    
            RealSubject realSubject = new RealSubject();
            Proxy proxy = new Proxy(realSubject);
            proxy.logn();、
    
    
    
    
    }
    
    

    代理模式 在proxy中引用了 真实对象

    代理模式和适配器模式比较 个人观点: 用法写法上差不多。
    区别 - 1代理是实现共同的接口,并且在proxy中有real的引用
    - 2适配器中 适配器主要就是连接作用。他可以实现或者继承客户所期待而创建的接口,而被适配的角色也是在适配器中被引用,和代理模式一样 ,并且适配和被适配的没有共同接口或者继承的抽象类,所以两个是可以独立的对象,可以有不同的方法属性行为。

    相关文章

      网友评论

          本文标题:android-学渣系列- 设计模式学习 - 适配器模式和代理模

          本文链接:https://www.haomeiwen.com/subject/nzmnrqtx.html