zoukankan      html  css  js  c++  java
  • 让你一看就明白什么是聚合java版本_源码下载

    项目结构:

    运行效果:

    =================================================

    代码部分:

    =================================================

    /MovProxy/src/com/b510/movproxy/test/MovProxyTest.java

     1 /**
     2  * 
     3  */
     4 package com.b510.movproxy.test;
     5 
     6 import com.b510.movproxy.dao.Moveable;
     7 import com.b510.movproxy.dao.impl.Train;
     8 import com.b510.movproxy.proxy.TrainLogProxy;
     9 import com.b510.movproxy.proxy.TrainTimeProxy;
    10 import com.b510.movproxy.proxy.TrainTranscationProxy;
    11 
    12 /**
    13  * 测试类
    14  * 
    15  * @author hongten(hongtenzone@foxmail.com)
    16  * @date 2013-2-24
    17  */
    18 public class MovProxyTest {
    19     public static void main(String[] args) throws Exception {
    20         // (0.火车 1.事物 2.时间 3.日志) 从内向外格式
    21         Train train = new Train();
    22         TrainTranscationProxy trainTranscationProxy = new TrainTranscationProxy(train);
    23         TrainTimeProxy trainTimeProxy = new TrainTimeProxy(trainTranscationProxy);
    24         TrainLogProxy trainLogProxy = new TrainLogProxy(trainTimeProxy);
    25         Moveable moveable = trainLogProxy;
    26         moveable.move();
    27     }
    28 
    29 }

    /MovProxy/src/com/b510/movproxy/dao/impl/Train.java

     1 /**
     2  * 
     3  */
     4 package com.b510.movproxy.dao.impl;
     5 
     6 import java.util.Random;
     7 
     8 import com.b510.movproxy.dao.Moveable;
     9 
    10 /**
    11  * 火车类
    12  * @author hongten(hongtenzone@foxmail.com)
    13  * @date 2013-2-24
    14  */
    15 public class Train implements Moveable{
    16 
    17     public void move() throws Exception{
    18         System.out.println("the Train begin to move ......");
    19         long timer = new Random().nextInt(15000);
    20         try {
    21             Thread.sleep(timer);
    22         } catch (InterruptedException e) {
    23             e.printStackTrace();
    24         }
    25         System.out.println("the Train end to move ......" + timer);
    26     }
    27  
    28 }

    /MovProxy/src/com/b510/movproxy/dao/Moveable.java

     1 /**
     2  * 
     3  */
     4 package com.b510.movproxy.dao;
     5 
     6 /**
     7  * @author hongten(hongtenzone@foxmail.com)
     8  * @date 2013-2-24
     9  */
    10 public interface Moveable {
    11 
    12     public void move() throws Exception;
    13 }

    /MovProxy/src/com/b510/movproxy/proxy/TrainTranscationProxy.java

     1 /**
     2  * 
     3  */
     4 package com.b510.movproxy.proxy;
     5 
     6 import java.util.Random;
     7 
     8 import com.b510.movproxy.dao.Moveable;
     9 
    10 /**
    11  * 火车的事物代理
    12  * @author hongten(hongtenzone@foxmail.com)
    13  * @date 2013-2-24
    14  */
    15 public class TrainTranscationProxy implements Moveable{
    16 
    17     /**
    18      * Moveable接口
    19      */
    20     private Moveable moveable;
    21     
    22     /**
    23      * 在构造方法中传递Moveable
    24      */
    25     public TrainTranscationProxy(Moveable moveable){
    26         this.moveable = moveable;
    27     }
    28 
    29     public void move() throws Exception {
    30         System.out.println("the transcation begin......");
    31         long timer = new Random().nextInt(15000);
    32         try {
    33             moveable.move();
    34             Thread.sleep(timer);
    35         } catch (InterruptedException e) {
    36             e.printStackTrace();
    37         }
    38         System.out.println("the transcation end ....." + timer);
    39         
    40     }
    41     
    42     
    43 }

    /MovProxy/src/com/b510/movproxy/proxy/TrainTimeProxy.java

     1 /**
     2  * 
     3  */
     4 package com.b510.movproxy.proxy;
     5 
     6 import com.b510.movproxy.dao.Moveable;
     7 
     8 /**
     9  * 火车的时间代理
    10  * @author hongten(hongtenzone@foxmail.com)
    11  * @date 2013-2-24
    12  */
    13 public class TrainTimeProxy implements Moveable{
    14     /**
    15      * Moveable接口
    16      */
    17     private Moveable moveable;
    18     
    19     /**
    20      * 在构造方法中传递Moveable
    21      */
    22     public TrainTimeProxy(Moveable moveable){
    23         this.moveable = moveable;
    24     }
    25 
    26     public void move() throws Exception {
    27         long start = System.currentTimeMillis();
    28         System.out.println("the time of start .........");
    29         moveable.move();
    30         long end = System.currentTimeMillis();
    31         System.out.println("the result time :" + (end - start));
    32         
    33     }
    34     
    35     
    36 
    37 }

    /MovProxy/src/com/b510/movproxy/proxy/TrainLogProxy.java

     1 /**
     2  * 
     3  */
     4 package com.b510.movproxy.proxy;
     5 
     6 import com.b510.movproxy.dao.Moveable;
     7 
     8 /**
     9  * 火车的日志代理
    10  * @author hongten(hongtenzone@foxmail.com)
    11  * @date 2013-2-24
    12  */
    13 public class TrainLogProxy implements Moveable{
    14 
    15     /**
    16      * Moveable接口
    17      */
    18     private Moveable moveable;
    19     
    20     /**
    21      * 在构造方法中传递Moveable
    22      */
    23     public TrainLogProxy(Moveable moveable){
    24         this.moveable = moveable;
    25     }
    26 
    27     public void move() throws Exception {
    28         System.out.println("start to log of the move() method!!!");
    29         moveable.move();
    30         System.out.println("stop to log of the move() method!!!");
    31     }
    32     
    33     
    34 }

    源码下载https://files.cnblogs.com/hongten/MovProxy.zip

  • 相关阅读:
    11111 Generalized Matrioshkas
    Uva 442 Matrix Chain Multiplication
    Uva 10815 Andy's First Dictionary
    Uva 537 Artificial Intelligence?
    Uva 340 MasterMind Hints
    SCAU 9508 诸葛给我牌(水泥题)
    Uva 10420 List of Conquests(排序水题)
    Uva 409 Excuses, Excuses!
    10/26
    11/2
  • 原文地址:https://www.cnblogs.com/hongten/p/hongten_juhe.html
Copyright © 2011-2022 走看看