码迷,mamicode.com
首页 > 编程语言 > 详细

【ThinkingInJava】20、控制框架的使用(初始化系统使用)

时间:2015-05-02 09:46:09      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:java编程思想   命令设计模式   

/**
* 书本:《Thinking In Java》
* 功能:控制框架的实现,1、控制框架的完整实现是由单个的类创建的,从而使得实现的细节被封装了起来。内部类用来表示解决问题所必须的各种不同的action
* 				    ,2、内部类能够很容易地访问外围类的任意成员,所以可以避免这种实现变得笨拙。
* 文件:GreenhouseController.java
* 时间:2015年4月7日19:14:33
* 作者:cutter_point
*/
package Lession10innerclasses;

import Lession10innerclasses.controller.*;

public class GreenhouseController 
{
	public static void main(String [] args)
	{
		GreenhouseControls gc = new GreenhouseControls();
		gc.addEvent(gc.new Bell(900));
		Event[] eventList = 
			{
				gc.new ThermostatNight(0),
				gc.new LightOn(200),
				gc.new LightOff(400),
				gc.new waterOn(600),
				gc.new waterOff(800),
				gc.new ThermostatDay(1400)
				
			};
		
		gc.addEvent(gc.new Restart(2000, eventList));
		if(args.length == 1)
		{
			System.out.println("======================");
			gc.addEvent
			(
				new GreenhouseControls.Terminate
				(
						new Integer(args[0])
				)
			);
		}
		
//		System.out.println(System.nanoTime());
		
//		System.out.println(args[0]);
		
		gc.run();		//根本停不下来的东西!!
	}

}


好吧,这玩意就是个死循环!!!

前面那个类Controller里面的函数run有这么个玩意

while(eventList.size() > 0)
        {
            for(Event e : new ArrayList<Event>(eventList))    //对eventList做一个拷贝,免得改动了原来的数据
                if(e.ready())
                {
                    System.out.println(e);
                    e.action();
                    eventList.remove(e);
                }
        }

好啦,根本停不下来了!!!!!




【ThinkingInJava】20、控制框架的使用(初始化系统使用)

标签:java编程思想   命令设计模式   

原文地址:http://blog.csdn.net/cutter_point/article/details/45421839

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!