zoukankan      html  css  js  c++  java
  • 设计模式之代理设计模式

    设计模式:前人的一套经验的总结
    特点:比较抽象

    我们要模拟

    new Thread(daoShi).start();
    

      即Thread代理Runnable完成start启动任务

    代码如下:

    interface Subject{ //主题类接口
    
    }
    class Real implements Subject{ //Real要使用Proxy提供的方法
    
    }
    class Proxy implements Subject{
    	private Subject subject;
    	public Proxy(){}
    	public Proxy(Subject subject){
    		this.subject=subject;
    	}
    	public void method(){System.out.println("Proxy的方法");}
    }
    
    public class Demo {
    	public static void main(String[] args) {
    		new Proxy(new Real()).method();
    	}
    }
    

      运行如图:

    实际中我们的代理模式的代码:

    interface Subject{ //主题类接口
    	public void work();
    }
    class Real implements Subject{ //Real要使用Proxy提供的方法
    	public void work(){
    		System.out.println("谈业务...");
    	}
    }
    class Proxy implements Subject{
    	private Subject subject;
    	public Proxy(){}
    	public Proxy(Subject subject){
    		this.subject=subject;
    	}
    	public void begin(){System.out.println("订机票、订酒店");}
    	public void end(){System.out.println("整理汇总文件");}
    	public void work(){
    		this.begin(); //代理的
    		subject.work(); //主要的工作
    		this.end(); //代理的
    	}
    }
    
    public class Demo {
    	public static void main(String[] args) {
    		new Proxy(new Real()).work();
    	}
    }
    

      一个人经理主页任务是去外地谈业务,而订机票酒店这些事情一般是由秘书代为办理的,同理回来后一些整理的收尾工作也由秘书代理完成

    运行如图:

  • 相关阅读:
    继承
    成员变量,局部变量,静态变量
    几种常用排序
    jdk环境配置以及java执行过程
    基础语法
    数据类型
    关键字和标识符
    网络编程(二)-socket套接字
    反射
    多态
  • 原文地址:https://www.cnblogs.com/mengxinrenyu/p/8095297.html
Copyright © 2011-2022 走看看