码迷,mamicode.com
首页 > 其他好文 > 详细

静态代理模式代码演示

时间:2017-04-16 19:22:43      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:package   public   相同   author   []   auth   str   ring   div   

一、静态代理:增强行为
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 }

打印:

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

静态代理模式代码演示

标签:package   public   相同   author   []   auth   str   ring   div   

原文地址:http://www.cnblogs.com/wdh1995/p/6719386.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!