Static Proxy (静态代理模式)

本文通过购房实例详细介绍了静态代理模式的实现过程。首先定义了购房接口ProxyInterface,接着创建了真实角色RealMaster实现该接口,负责购房的具体操作;然后定义代理角色ProxyMaster,同样实现接口并持有真实角色引用,用于在真实购房前后执行额外任务。

1.定义一个接口

ProxyInterface.java

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

 

 

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

RealMaster.java

 

[java]  view plain copy
  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]  view plain copy
  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]  view plain copy
  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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值