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

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

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

  • 相关阅读:
    因浮动问题导致的IE6/7下的换行
    弹性回到顶部js代码
    页面图片的缩放问题
    js练习小结
    地址给的越精确,优先级越高
    判断IE浏览器的版本
    img图像对齐的方式
    三级导航收缩下拉框
    功能已经实现
    AE创建一个空白的Shapefile
  • 原文地址:https://www.cnblogs.com/fenglanglang/p/6021904.html
Copyright © 2011-2022 走看看