博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Static Proxy (静态代理模式)
阅读量:5123 次
发布时间:2019-06-13

本文共 1080 字,大约阅读时间需要 3 分钟。

1.定义一个接口

ProxyInterface.java

[java]
  
  1. package com.staticproxy ;  
  2.   
  3.   
  4. public interface ProxyInterface  //就假设为 定义一个购房的接口  
  5. {  
  6.     public void buyTest() ;//定义一个实现购房的方法规范  
  7. }  

 

 

2.定义一个真实角色实现了ProxyInterface接口

RealMaster.java

 

[java]
  
  1. package com.staticproxy ;  
  2.   
  3. public class RealMaster implements ProxyInterface //定义一个真实的主人,也就是 房主  
  4. {  
  5.     public void buyTest()  
  6.     {  
  7.         System.out.println("实现购买房主的手续") ;  
  8.     }  
  9. }  

 

3.定义一个代理角色,实现了ProxyInterface接口,还持有一个 真实主人对象的引用

ProxyMaster.java

 

[java]
  
  1. package com.staticproxy ;  
  2.   
  3. public class ProxyMaster implements ProxyInterface //定义一个代理主人,就相当于 中介,  
  4. {  
  5.     private RealMaster rm;//持有一个 真实主人对象的引用    
  6.   
  7.     public void buyTest()  
  8.     {  
  9.         this.beforeTest() ; //中介 一开始 收取买主 的介绍费  
  10.   
  11.         this.rm = new RealMaster() ;  
  12.   
  13.         rm.buyTest() ;   
  14.           
  15.         this.afterTest() ; // 购完房 中介要收取的费用  
  16.   
  17.     }  
  18.   
  19.     public void beforeTest()  
  20.     {  
  21.         System.out.println("中介 一开始 的介绍费") ;  
  22.     }  
  23.   
  24.     public void afterTest()  
  25.     {  
  26.         System.out.println("购完房 中介要收取的费用") ;  
  27.     }  
  28. }  

4.客户端 Client.java

 

[java]
  
  1. package com.staticproxy ;  
  2.   
  3. public class Client //定义一个客户端  
  4. {  
  5.     public static void main(String[] args)  
  6.     {  
  7.         ProxyMaster pm = new ProxyMaster() ;  
  8.           
  9.         pm.buyTest() ;  
  10.   
  11.     }  
  12. }  

转载于:https://www.cnblogs.com/hoobey/p/5294403.html

你可能感兴趣的文章
嵌入式软件设计第8次实验报告
查看>>
算法和数据结构(三)
查看>>
Ubuntu下的eclipse安装subclipse遇到没有javahl的问题...(2天解决了)
查看>>
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>
WCF揭秘——使用AJAX+WCF服务进行页面开发
查看>>
【题解】青蛙的约会
查看>>
IO流
查看>>
mybatis调用存储过程,获取返回的游标
查看>>
设计模式之装饰模式(结构型)
查看>>
面向对象的设计原则
查看>>
Swift3.0服务端开发(三) Mustache页面模板与日志记录
查看>>
【转】 FPGA设计的四种常用思想与技巧
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>
s3c2440实验---定时器
查看>>
MyEclipse10安装SVN插件
查看>>
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>