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

    /**
    * 代理模式
    *
    * 应用实例:1、spring aop。
    * 意图:为其他对象提供一种代理以控制对这个对象的访问。
    *
    * 何时使用:想在访问一个类时做一些控制。
    * 如何解决:增加中间层。
    * 关键代码:实现与被代理类组合。
    *
    * 通过创建一个代理类,在代理类中在使用到具体方法时才创建实际类,通过实际类去执行具体方法。
    */
    public class ProxyPattern {

    }
    /**
    * 实现代码
    * @author HY
    *
    */
    interface Image {
    void display();
    }
    class RealImage implements Image {

    private String fileName;

    public RealImage(String fileName){
    this.fileName = fileName;
    loadFromDisk(fileName);
    }

    @Override
    public void display() {
    System.out.println("Displaying " + fileName);
    }

    private void loadFromDisk(String fileName){
    System.out.println("Loading " + fileName);
    }
    }
    class ProxyImage implements Image{

    private RealImage realImage;
    private String fileName;

    public ProxyImage(String fileName){
    this.fileName = fileName;
    }

    @Override
    public void display() {
    if(realImage == null){
    realImage = new RealImage(fileName);
    }
    realImage.display();
    }
    }

  • 相关阅读:
    某个sql帖子的答题
    JQuery hide
    JQuery tr 循环,删除td
    JQuery Disabled
    QueryString大小设置
    Silverlight HelloWorld
    USB HID通讯流程
    动态调用c++dll(转)
    VB应用程序调用c++编写的动态库(dll)(转)
    读取图像
  • 原文地址:https://www.cnblogs.com/huangyin/p/5969844.html
Copyright © 2011-2022 走看看