zoukankan      html  css  js  c++  java
  • 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、代理模式的扩展:

  • 相关阅读:
    输入一批整数,输出最大最小值,输入0结束
    获取最低价手机价格
    插入数值
    猜数游戏
    数字金字塔
    输出星期数
    9*9乘法表
    linux 出core设置问题
    linux socket连接中 ERRNO错误
    linux c 获取头文件函数getenv
  • 原文地址:https://www.cnblogs.com/yulibo/p/8877642.html
Copyright © 2011-2022 走看看