美文网首页
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