二、代理模式
package proxy;
//代理的目的是在达到目的之前可以做一些事情
class ImagProxy {// 代理
IImage id;
public ImagProxy(IImage id) {
this.id = id;
}
public void displayImag() {
System.out.println("显示缩略图片");
}
public void mousePress() {// 点击缩略图片
id.displayImag();
}
}
interface IImage {// 面向接口编程,目的是降低代理与实际类之间的偶合
public void displayImag();
}
class ImagDisplay implements IImage {// 实际工作类
public void displayImag() {
System.out.println("显示正常图片");// 非常消耗内存
}
}
public class Proxy {
public static void main(String[] args) {
ImagProxy proxy = new ImagProxy(new ImagDisplay());// 可以注入
proxy.displayImag();// 客户端感觉只是和代理
proxy.mousePress();// 想看实际图片
}
}