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

    一.作用:为其他对象提供一种代理以控制对这个对象的访问。

    二.代码

    1.要被代理的目标接口
    1 package design.proxy;
    2 
    3 public interface Target {
    4     void action();
    5 }
    2.被代理目标的实现类A
     1 package design.proxy;
     2 
     3 public class TargetImplA implements Target{
     4 
     5     @Override
     6     public void action() {
     7         // TODO Auto-generated method stub
     8         System.out.println("这是代理目标的实现类A。。");
     9     }
    10 
    11 }
    3.代理类A也实现了目标接口,这样代理类A就可以代理任意目标接口的实现类,这里代理类A专门代理目标接口的实现类A
     1 package design.proxy;
     2 
     3 public class ProxyA implements Target{
     4     private Target target;
     5     public ProxyA(){
     6         System.out.println("这是代理类A。。");
     7         this.target = new TargetImplA();
     8     }
     9     
    10     public void action(){
    11         System.out.println("---代理开始---");
    12         target.action();
    13         System.out.println("---代理结束---");
    14     }
    15 }
    4.测试类
    1 package design.proxy;
    2 
    3 public class Test {
    4     public static void main(String[] args) {
    5         Target target = new ProxyA();
    6         target.action();
    7     }
    8 }
    5.结果

    这是代理类A。。
    ---代理开始---
    这是代理目标的实现类A。。
    ---代理结束---

    三.代理模式和装饰模式的区别:

    从代理类和装饰类可以看出,它们的最大区别就是代理模式由代理类创建目标对象,而装饰类需要传入目标对象。

  • 相关阅读:
    python学习之字典合并
    python学习之列表、元组、集合、字典随笔
    图像检索中的概念
    卷积、反卷积、转置卷积资源
    计算机视觉顶级会议和期刊
    Week17
    Python协程资源
    深度图像资源
    Geo-localization论文阅读list2
    NetVLAD原理详解和推导
  • 原文地址:https://www.cnblogs.com/fenglanglang/p/6021904.html
Copyright © 2011-2022 走看看