zoukankan      html  css  js  c++  java
  • 设计模式之代理模式

    简介:

    代理类跟被代理类都实现同一个接口,在代理类中调用被代理类的接口方法来完成具体的工作,同时添加一些额外的处理逻辑。客户端调用代理对象而不是直接调用被代理对象。

    类图:

    示例代码:

    代理类跟被代理类都需实现的接口

    1 public interface Subject {
    2     public void doSomething();
    3 }

    真正的实现类:

    1 public class RealSubject implements Subject{
    2 
    3     @Override
    4     public void doSomething() {
    5         System.out.println("I am doing the real thing");        
    6     }
    7 
    8 }

    代理类:

     1 public class Proxy implements Subject{
     2 
     3     private RealSubject realSubject=new RealSubject();
     4 
     5     @Override
     6     public void doSomething() {
     7         realSubject.doSomething();
     8         System.out.println("I am doing the extra thing");      
     9     }
    10     
    11 }

    客户端:

    1 public class Client {
    2 
    3     public static void main(String args[]) {
    4         Subject subject = new Proxy();
    5         subject.doSomething();
    6     }
    7 }

    运行结果:

    I am doing the real thing
    I am doing the extra thing
  • 相关阅读:
    ARP 协议
    3GPP 5G UPF
    OpenStack v.s. Kubernetes
    C#- FTP递归下载文件
    C#- WinForm获取 当前执行程序路径的几种方法
    C#- 布署WinForm程序
    Delphi- 连接MySQL数据库BDE
    Delphi- 内置数据库的使用例子BDE
    CSS- 兼容样式记录
    Delphi- DLL操作
  • 原文地址:https://www.cnblogs.com/longzhaoyu/p/4123348.html
Copyright © 2011-2022 走看看