设计模式--代理(静态)
2011-04-08 16:24
302 查看
看点写点,日子就是这么这么过去了...
//聚合V继承
静态代理:
Moveable.java
Tank.java
TankLogProxy.java
TankTimeProxy.java
Client.java
运行结果:
Tank is starting...
this Tank is moving...
time:4281
Tank is ending...
静态代理 原理---
//聚合V继承
静态代理:
Moveable.java
package com.inspur.democreen.agent1; public interface Moveable { void move(); }
Tank.java
package com.inspur.democreen.agent1; import java.util.Random; public class Tank implements Moveable { public void move() { System.out.println("this Tank is moving..."); try { Thread.sleep(new Random().nextInt(10000)); } catch (InterruptedException e) { e.printStackTrace(); } } }
TankLogProxy.java
package com.inspur.democreen.agent1; public class TankLogProxy implements Moveable { Moveable t; public TankLogProxy(Moveable ttp) { super(); this.t = ttp; } public void move() { System.out.println("Tank is starting..."); t.move(); System.out.println("Tank is ending..."); } }
TankTimeProxy.java
package com.inspur.democreen.agent1; public class TankTimeProxy implements Moveable { Moveable t ; public TankTimeProxy(Moveable t) { super(); this.t = t; } public void move() { long start = System.currentTimeMillis(); t.move(); long end = System.currentTimeMillis(); System.out.println("time:"+(end-start)); } }
Client.java
package test1; import com.inspur.democreen.agent1.Moveable; import com.inspur.democreen.agent1.Tank; import com.inspur.democreen.agent1.TankLogProxy; import com.inspur.democreen.agent1.TankTimeProxy; //聚合V继承 public class Client { //先记录时间,再记录日志 public static void main(String [] args){ Tank t = new Tank(); TankTimeProxy ttp = new TankTimeProxy(t); TankLogProxy tlp = new TankLogProxy(ttp); Moveable m = tlp; m.move(); } //先记录日志再记录时间 /*public static void main(String [] args){ Tank t = new Tank(); TankLogProxy tlp = new TankLogProxy(t); TankTimeProxy ttp = new TankTimeProxy(tlp); Moveable m = ttp; m.move(); }*/ }
运行结果:
Tank is starting...
this Tank is moving...
time:4281
Tank is ending...
静态代理 原理---
相关文章推荐
- 架构设计之设计模式 (二) 静态代理和动态代理--间接“美”
- 【2月2日】设计模式:静态代理
- java 设计模式之静态代理模式
- JAVA设计模式之静态代理模式
- Java设计模式之静态代理和动态代理(简单例子)
- 静态代理模式设计
- Java 设计模式——静态代理模式和动态代理模式
- java设计模式之静态代理
- java设计模式学习笔记3 代理模式-静态代理
- 设计模式-静态代理模式
- java设计模式---静态代理(简单笔记)
- 代理模式(静态代理)(设计模式9)
- java代理设计模式(静态代理与动态代理)
- OOAD-设计模式-静态代理模式
- java 设计模式之四-代理模式 java静态代理和动态代理
- JAVA设计模式之:代理模式--静态代理
- java设计模式之代理模式Proxy--静态代理
- Java设计模式之—静态代理和动态代理
- 设计模式:JDK静态代理之Thread/Runnable
- 设计模式(2) 代理模式 静态代理