zoukankan      html  css  js  c++  java
  • 06-代理模式

    代理模式

    真实类需要实现接口,实现业务方法。
    代理类也要实现接口,增强业务方法,比如在执行真实的业务逻辑之前增加日志记录功能等。

    package cn.com.test.proxy;
    
    //代理类和真实类都需要实现的接口
    interface Bussiness {
        void buy();
        void sell();
    }
    //测试类
    public class ProxyDemo {
        public static void Consumer(Bussiness bussiness){
            bussiness.buy();
            bussiness.sell();
        }
    
        public static void main(String[] args) {
            System.out.println("=========未使用代理模式------------------");
            Consumer(new RealDo());
            System.out.println("==========使用代理模式------------------");
            Consumer(new ProxyDo(new RealDo()));
        }
    }
    
    //真实类,需要实现接口
    class RealDo implements Bussiness {
        public void buy() {
            System.out.println("买买买");
        }
    
        public void sell() {
            System.out.println("卖卖卖");
        }
    }
    
    //代理类,需要实现接口
    class ProxyDo implements Bussiness {
    
        private RealDo realObj;
    
        public ProxyDo() {
        }
    
        public ProxyDo(RealDo realObj) {
            this.realObj = realObj;
        }
    
        public void buy() {
            System.out.println("Proxy对象插入进来,取钱了。");
            realObj.buy();
            System.out.println("Proxy对象插入进来,运货回店里。");
    
        }
    
        public void sell() {
            System.out.println("整理货物。。。。");
            realObj.sell();
            System.out.println("卖完货了,开始数钱。");
    
        }
    }
    
    
  • 相关阅读:
    日程管理系统找Bug
    #单元测试
    读后感
    四则运算
    事后诸葛亮会议
    数据流图和数据流程图
    时序图
    ER图
    uml用例图
    第一迭代感想
  • 原文地址:https://www.cnblogs.com/dhu121/p/14841579.html
Copyright © 2011-2022 走看看