zoukankan      html  css  js  c++  java
  • java 设计模式 代理模式 静态代理

    代理模式:
    使用环境无法直接使用对象A(委托对象),可以使用对象B(代理对象)调用对象A已达到直接调用对象A的效果,就成为代理模式。

    其中A为委托对象,B为代理对象。

    静态代理的优缺点:

    优点

    1、代码只管,可以清楚理解委托雷以及代理类。

    2、在编译期加入,提前就指定好了委托类,代理类,效率高。

    缺点

    1、静态代理很麻烦,需要大量的代理类,不易于代码维护等

         当我们有多个目标对象需要代理时,我就需要建立多个代理类,改变原有的代码,改的多了就很有可能出问题,必须要重新测试。

    2、重复的代码会出现在各个角落里,代码过于冗余

    3、在编译期加入,系统的灵活性差,不易于灵活的修改

    伪码如下:

    /**委托类*/

    Class A{

      public void method1(){

        system.out.println("from A method");

      };

    }

    /**代理类*/

    Class B{

      A a;

      public B(A a){

        this.a = a;

      }

      void method1(){

        if(null != a){

          a.method1();

        }

      };

    }

    /**********/

    调用过程

    main(){

      B b = new B(new A());

      b.method1();

    }

    /****************************************************如有错误,忘雅正,多谢 !*************************************************************/

  • 相关阅读:
    haproxy tcp 反向代理
    c# 字节高低位
    Mac Launchpad图标调整
    vsftp 777权限
    centos7下tomcat7 或tomcat8启动超慢原因
    mysql连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link
    Mac mysql 运行sql文件中文乱码的问题
    Mac Mysql [ERR] 2006
    记一次部署java项目的问题
    典型的响应式布局实例代码
  • 原文地址:https://www.cnblogs.com/xunzhi/p/4284527.html
Copyright © 2011-2022 走看看