zoukankan      html  css  js  c++  java
  • 设计模式之【代理-Proxy】

    1、源接口

    1 package Proxy;
    2 
    3 public interface Sourceable {
    4     public void method();
    5 
    6 }

    2、实现类

     1 package Proxy;
     2 
     3 public class Source implements Sourceable{
     4 
     5     @Override
     6     public void method() {
     7          System.out.println("接口实现类中原始方法。"); 
     8         
     9     }
    10 
    11 }

    3、代理类

     1 package Proxy;
     2 
     3 public class Proxy implements Sourceable{
     4     private Source source;
     5     public Proxy(){
     6         super();
     7         //被代理类
     8         this.source = new Source();
     9     }
    10     @Override
    11     public void method() {
    12         // TODO Auto-generated method stub
    13         before();
    14         source.method(); //在原始方法前后再扩展方法
    15         after();
    16         
    17     }
    18     public void after(){
    19         System.out.println("扩展方法1");
    20     }
    21     public void before(){
    22         System.out.println("扩展方法2");
    23     }
    24 
    25 }

    4、客户端

     1 package Proxy;
     2 
     3 public class ProxyTest {
     4 
     5     public static void main(String[] args) {
     6         // TODO Auto-generated method stub
     7         Sourceable source = new Proxy();
     8         source.method();
     9     }
    10 
    11 }

     5、结果

    扩展方法2
    接口实现类中原始方法。
    扩展方法1
  • 相关阅读:
    asp.net mvc上传图片案例
    kafka 常用参数
    play framework 笔记
    调试 kafka manager 源码
    kafka AdminClient 闲时关闭连接
    kafka 心跳和 rebalance
    kafka producer batch 发送消息
    kafka producer 发送消息简介
    zk 的配额
    kafka consumer 指定 offset,进行消息回溯
  • 原文地址:https://www.cnblogs.com/pingzhanga/p/4674069.html
Copyright © 2011-2022 走看看