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

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适配器中 适配器主要就是连接作用。他可以实现或者继承客户所期待而创建的接口,而被适配的角色也是在适配器中被引用,和代理模式一样 ,并且适配和被适配的没有共同接口或者继承的抽象类,所以两个是可以独立的对象,可以有不同的方法属性行为。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容