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。。
    ---代理结束---

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

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

  • 相关阅读:
    新版本NDK环境结构(避Cygwin,超快)
    网络、会话建立与信任
    网络协议与语言
    网络通信协议--网络通用语言
    语法、语义与哲学
    虚连接 tcp
    TCP的可靠连接是如何产生的?
    一个TCP的问题,所谓TCP面向连接的虚电路到底是怎么实现的?
    TCP与虚连接
    网络发展史介绍
  • 原文地址:https://www.cnblogs.com/fenglanglang/p/6021904.html
Copyright © 2011-2022 走看看