静态代理模式代码演示

一、静态代理:增强行为
1、真实角色
2、代理角色+真实角色的引用
3、代理行为
要求实现相同的接口

1、接口,租赁行为

 1 package com.wisezone.dailies;
 2 
 3 /**
 4  * 接口,租赁行为
 5  * @author 王东海
 6  * @2017年4月16日
 7  */
 8 public interface Rent
 9 {
10     /**
11      * 租赁
12      * void
13      */
14     public void rent();
15 }

2、真实角色类

 1 package com.wisezone.dailies;
 2 
 3 /**
 4  * 真实角色类
 5  * @author 王东海
 6  * @2017年4月16日
 7  */
 8 public class You implements Rent
 9 {
10 
11     @Override
12     public void rent()
13     {
14         System.out.println("收取房租,过过包租婆的日子");
15     }
16 
17 }

3、代理角色类

 1 package com.wisezone.dailies;
 2 
 3 /**
 4  * 代理角色类
 5  * 要有增强行为
 6  * 并且具有真实角色
 7  * @author 王东海
 8  * @2017年4月16日
 9  */
10 public class Proxy implements Rent
11 {
12 
13     private You you;
14     
15     
16     public Proxy(You you)
17     {
18         this.you = you;
19     }
20 
21     //1.前期增强
22     public void before(){
23         System.out.println("寻找租房客户...");
24         
25     }
26     
27     //2.后期行为
28     public void after(){
29         System.out.println("收取中介费....");
30         
31     }
32 
33     @Override
34     public void rent()
35     {
36         before();
37         you.rent();//真实角色的行为
38         after();
39     }
40 
41 }

4、测试结果

 1 package com.wisezone.dailies;
 2 
 3 public class TestProxy
 4 {
 5     public static void main(String[] args)
 6     {
 7         You you = new You();
 8         Proxy proxy = new Proxy(you);
 9         proxy.rent();
10     }
11 }

打印:

寻找租房客户...
收取房租,过过包租婆的日子
收取中介费....

转载于:https://www.cnblogs.com/wdh1995/p/6719386.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值