您的位置:首页 > 其它

设计模式之静态代理

2010-08-16 20:16 281 查看
静态代理模式在我感觉就是为其他对象提供一种代理以控制对这个对象的访问.代理概念可以解释为:在出发点到目的地之间有一道中间层,

意为代理.

使用代理模式的时候,要求代理类和被代理的类有相同接口,在代理类中拥有一个被代理的类的对象,如下:

定义了一个接口moveable

package viekie.du.proxy;

public interface Moveable {

public void move();

}

汽车类实现Moveable接口

package viekie.du.proxy;

import java.util.Random;

public class Car implements Moveable{

@Override

public void move() {

System.out.println("car moving");

try {

Thread.sleep(new Random().nextInt(10000));

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

代理类CarTimeProxy 实现Moveable接口

package viekie.du.proxy;

public class CarTimeProxy implements Moveable{

Moveable m = null;

public CarTimeProxy(Moveable m) {

this.m = m;

}

@Override

public void move() {

long start = System.currentTimeMillis();

System.out.println("start time" + start);

m.move();

long end = System.currentTimeMillis();

System.out.println("end time" + end);

System.out.println("共用时间 : " + (end-start));

}

}

测试方法

package viekie.du.proxy;

public class Main {

public static void main(String[] args) {

Moveable m = new Car();

Moveable t = new CarTimeProxy(m);

t.move();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: