shellprocess.java

来自「本书透彻讲解了经典的《设计模式:可复用面向对象软件的基础》一书涵盖的23种基本设」· Java 代码 · 共 71 行

JAVA
71
字号
package com.oozinoz.process;

/*
 * Copyright (c) 2001 Steven J. Metsker.
 * 
 * Steve Metsker makes no representations or warranties about
 * the fitness of this software for any particular purpose, 
 * including the implied warranty of merchantability.
 *
 * Please use this software as you wish with the sole
 * restriction that you may not claim that you wrote it.
 */
/**
 * This class provides an object model of Oozinoz's process
 * for making an aerial shell.
 *
 * @author Steven J. Metsker
 *
 */
public class ShellProcess 
{
	protected static ProcessSequence make;
protected static ProcessStep buildInnerShell()
{
	return new ProcessStep("Build inner shell");
}
protected static ProcessStep disassemble()
{
	return new ProcessStep("Disassemble");
}
protected static ProcessStep finish()
{
	return new ProcessStep("Finish: Attach lift, insert fusing, wrap");
}
protected static ProcessStep inspect()
{
	return new ProcessStep("Inspect");
}
/**
 * Return an object model of Oozinoz's process for making 
 * an aerial shell.
 *
 * @return an object model of Oozinoz's process for making 
 *         an aerial shell.
 *
 */
public static ProcessSequence make()
{
	if (make == null)
	{
		make = new ProcessSequence("Make an aerial shell");
		make.add(buildInnerShell());
		make.add(inspect());
		make.add(reworkOrFinish());
	}
	return make;
}
protected static ProcessAlternation reworkOrFinish()
{
	return new ProcessAlternation(
		"Rework inner shell, or complete shell",
		new ProcessComponent[] { rework(), finish()});
}

protected static ProcessSequence rework()
{
	return new ProcessSequence(
		"Rework",
		new ProcessComponent[] { disassemble(), make()});
}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?