让你一看就明白什么是聚合-java版本_源码下载
2013-02-24 01:33
330 查看
项目结构:
运行效果:
=================================================
代码部分:
=================================================
/MovProxy/src/com/b510/movproxy/test/MovProxyTest.java
/MovProxy/src/com/b510/movproxy/dao/impl/Train.java
/MovProxy/src/com/b510/movproxy/dao/Moveable.java
/MovProxy/src/com/b510/movproxy/proxy/TrainTranscationProxy.java
/MovProxy/src/com/b510/movproxy/proxy/TrainTimeProxy.java
/MovProxy/src/com/b510/movproxy/proxy/TrainLogProxy.java
源码下载:http://files.cnblogs.com/hongten/MovProxy.zip
运行效果:
=================================================
代码部分:
=================================================
/MovProxy/src/com/b510/movproxy/test/MovProxyTest.java
/** * */ package com.b510.movproxy.test; import com.b510.movproxy.dao.Moveable; import com.b510.movproxy.dao.impl.Train; import com.b510.movproxy.proxy.TrainLogProxy; import com.b510.movproxy.proxy.TrainTimeProxy; import com.b510.movproxy.proxy.TrainTranscationProxy; /** * 测试类 * * @author hongten(hongtenzone@foxmail.com) * @date 2013-2-24 */ public class MovProxyTest { public static void main(String[] args) throws Exception { // (0.火车 1.事物 2.时间 3.日志) 从内向外格式 Train train = new Train(); TrainTranscationProxy trainTranscationProxy = new TrainTranscationProxy(train); TrainTimeProxy trainTimeProxy = new TrainTimeProxy(trainTranscationProxy); TrainLogProxy trainLogProxy = new TrainLogProxy(trainTimeProxy); Moveable moveable = trainLogProxy; moveable.move(); } }
/MovProxy/src/com/b510/movproxy/dao/impl/Train.java
/** * */ package com.b510.movproxy.dao.impl; import java.util.Random; import com.b510.movproxy.dao.Moveable; /** * 火车类 * @author hongten(hongtenzone@foxmail.com) * @date 2013-2-24 */ public class Train implements Moveable{ public void move() throws Exception{ System.out.println("the Train begin to move ......"); long timer = new Random().nextInt(15000); try { Thread.sleep(timer); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("the Train end to move ......" + timer); } }
/MovProxy/src/com/b510/movproxy/dao/Moveable.java
/** * */ package com.b510.movproxy.dao; /** * @author hongten(hongtenzone@foxmail.com) * @date 2013-2-24 */ public interface Moveable { public void move() throws Exception; }
/MovProxy/src/com/b510/movproxy/proxy/TrainTranscationProxy.java
/** * */ package com.b510.movproxy.proxy; import java.util.Random; import com.b510.movproxy.dao.Moveable; /** * 火车的事物代理 * @author hongten(hongtenzone@foxmail.com) * @date 2013-2-24 */ public class TrainTranscationProxy implements Moveable{ /** * Moveable接口 */ private Moveable moveable; /** * 在构造方法中传递Moveable */ public TrainTranscationProxy(Moveable moveable){ this.moveable = moveable; } public void move() throws Exception { System.out.println("the transcation begin......"); long timer = new Random().nextInt(15000); try { moveable.move(); Thread.sleep(timer); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("the transcation end ....." + timer); } }
/MovProxy/src/com/b510/movproxy/proxy/TrainTimeProxy.java
/** * */ package com.b510.movproxy.proxy; import com.b510.movproxy.dao.Moveable; /** * 火车的时间代理 * @author hongten(hongtenzone@foxmail.com) * @date 2013-2-24 */ public class TrainTimeProxy implements Moveable{ /** * Moveable接口 */ private Moveable moveable; /** * 在构造方法中传递Moveable */ public TrainTimeProxy(Moveable moveable){ this.moveable = moveable; } public void move() throws Exception { long start = System.currentTimeMillis(); System.out.println("the time of start ........."); moveable.move(); long end = System.currentTimeMillis(); System.out.println("the result time :" + (end - start)); } }
/MovProxy/src/com/b510/movproxy/proxy/TrainLogProxy.java
/** * */ package com.b510.movproxy.proxy; import com.b510.movproxy.dao.Moveable; /** * 火车的日志代理 * @author hongten(hongtenzone@foxmail.com) * @date 2013-2-24 */ public class TrainLogProxy implements Moveable{ /** * Moveable接口 */ private Moveable moveable; /** * 在构造方法中传递Moveable */ public TrainLogProxy(Moveable moveable){ this.moveable = moveable; } public void move() throws Exception { System.out.println("start to log of the move() method!!!"); moveable.move(); System.out.println("stop to log of the move() method!!!"); } }
源码下载:http://files.cnblogs.com/hongten/MovProxy.zip
相关文章推荐
- 让你一看就明白什么是单列模式(和静态静态工厂模式)--java版本_源码下载
- 让你一看就明白什么是代理模式--java版本_源码下载
- 让你一看就明白什么是单列模式(和静态静态工厂模式)--java版本_源码下载
- windows环境下载android源码批量下载 java版本
- maven下载源码和java docs
- java 各版本下载官方网站
- GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流 .
- 如何在官网下载java JDK的历史版本
- java根据url下载附件源码
- 殖民帝国游戏源码下载 FreeCol(Java)
- 如何查看下载的android源码是哪个版本的
- JR 精品文章 - Java??2源码解读1:java.util.ArrayList??(版本:2.0)
- java源码下载网站:很全很强大.
- CYQ.Data 轻量数据层之路 最后开源版本V1.5.5发布[V1.4源码对外下载] (二十三)
- [置顶] Java基于Redis实现“附近的人”(含源码下载)
- JEECMSv8版本源码下载(给个赞再下载)
- java常用工具历史版本下载官方地址
- 【保存&分享】各个版本spring源码下载地址
- CYQ.Data 数据框架 V3.0 版本 开放源码下载有[CYQ.Blog(秋色园QBlog) 完全开放所有源码]
- 001_如何在官网下载Java JDK的历史版本