• JAVA设计模式代理模式


    JAVA设计模式--代理模式

    例子:

    在现实生活中,我们有的时候并不会真是的参与到一个活动中,就可以完成一件事情。例如打官司(找代理律师)、点外卖等。

    以下是抽象的是实现代理的代码,很容易理解。

    /***
     * Subject抽象主题类
     * 定义接口,创建request方法
     *
     */
    public interface Subject {
        void request();
    }
    /**
     * RealSubject具体主题类
     * 实现Subject接口
     */
    public class RealSubject implements Subject {
        @Override
        public void request() {
            // 具体的业务逻辑
        }
    }
    /***
     * Proxy代理类
     */
    public class Proxy implements Subject {
        //要代理哪个实现类
        private Subject subject=null;
        
        //默认被代理者
        public Proxy() {
            this.subject = new Proxy();
        }
        
        //通过构造函数传递参数
        public Proxy(Subject subject) {
            super();
            this.subject = subject;
        }
    
        @Override
        public void request() {
            // TODO Auto-generated method stub
            this.before();
            this.subject.request();
            this.after();
        }
        
        //预处理方法
        private void after() {
            // TODO Auto-generated method stub
        }
        
        //善后处理方法
        private void before() {
            // TODO Auto-generated method stub
        }
    }

    代理模式的应用:

      1、代理模式的优点:

      职责清晰:真实的角色就是就是实现实际的业务逻辑,不用关心其他非本职的业务,通过后期的代理完成一件事务,结果就是编程的简洁清晰。

      高扩展性:具体主题角色是随时都会发生变化的,只要他实现了接口,我们的代理类完全就可以在不做任何修改的情况下使用。

      智能化:Struts将表单元素映射到对象上。

      2、代理模式的扩展:

  • 相关阅读:
    做了6年开发,工资涨不上去,怎么办?(安晓辉,循循善诱的分析)
    Hello World
    服务治理框架
    Range锁(也即范围锁)
    C# .NET Socket
    Net Core应用,在CentOS上运行
    分布式锁,进程锁,线程锁
    TEMPDB
    学会Git
    Docker
  • 原文地址:https://www.cnblogs.com/yulibo/p/8877642.html
Copyright © 2020-2023  润新知