zoukankan      html  css  js  c++  java
  • 静态代理模式代码演示

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

    打印:

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

  • 相关阅读:
    男人只说三分话、留的七分打天下。
    sqlmap实例拿站
    sqlmap使用笔记
    rpm安装删除简介
    Zookeeper技术介绍
    linux下各文件夹的结构说明及用途介绍:
    每个系统管理员都要知道的 30 个 Linux 系统监控工具
    常用命令
    安装gitlab管理自己的代码
    速成Git
  • 原文地址:https://www.cnblogs.com/wdh1995/p/6719386.html
Copyright © 2011-2022 走看看