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("卖完货了,开始数钱。");
    
        }
    }
    
    
  • 相关阅读:
    weblogic内存快速配置
    weblogic优化参数
    weblogic10.3.6忘记用户名或者密码的解决方法
    Linux shell 环境变量及有效范围
    linux文本处理常用命令
    Scala实践7
    Scala实践5
    Scala实践4
    Scala实践3
    Scala实践2
  • 原文地址:https://www.cnblogs.com/dhu121/p/14841579.html
Copyright © 2011-2022 走看看