zoukankan      html  css  js  c++  java
  • 代理模式的初步理解

    /*
      代理设计一般格式:
        一个接口, 
        一个实现接口的代理类,同时代理类需要传入一个被代理的类
        一个实现接口的被代理类 
    */
    
    package com.proxy.model;
    
    interface Action{
        public abstract void sing();
    }
    /*
     *需要被代理的类
     */
    class  Singer implements Action{
        @Override
        public void sing() {
           System.out.println("歌手自己完成唱歌");    
        }
    }
    /*
     * 代理类需要传入一个需要被代理的类
     */
    class ProxySinger implements Action{
    
        private Singer singer;
        public ProxySinger(Singer singer){
            this.singer=singer;
        }
        public void ready(){
            System.out.println("1.歌手开演唱会,首先需要经纪人负责联系,自己只负责唱歌");
        }
        @Override
        public void sing() {
           this.ready();
           singer.sing();
           this.end();
        }
        public void end(){
            System.out.println("2.结束演唱会后,经纪人需要完成收尾工作,歌手自己只做了唱歌一件事");
        }
    }
    
    public class Test {
        public static void main(String[] args) {
           Action action=new ProxySinger(new Singer());
           action.sing();
        }
    }
  • 相关阅读:
    DM7 安装
    LeetCode 第 183 场周赛
    MySQL 源码中的 ut_a 、 ut_ad
    存储领域的会议和研究机构
    LeetCode 第 15 场双周赛
    LeetCode 第 167 场周赛
    值得推荐的C/C++框架和库
    InnoDB 中的锁实现
    LeetCode-第 166 场周赛
    LeetCode 第 165 场周赛
  • 原文地址:https://www.cnblogs.com/yuefeng123/p/7473406.html
Copyright © 2011-2022 走看看