UML:统一建模语言
UML类图,嗯,设计模式上看到的,挺好的,可以很好地帮助人思考问题。
GoF-Behavioral Design Patterns:State Pattern(状态模式)
abstract class State
{
public void pull( Car wrapper )
{
wrapper.setState( new Off() );
System.out.println( " turning off" );
}
}
class Car
{
private State current;
public Car()
{
current = new Off();
System.out.println("A new car has came out,now it's off!");
}
public void setState( State s )
{
current = s;
}
public void pull()
{
current.pull( this );
}
}
class Off extends State
{
public void pull( Car wrapper )
{
wrapper.setState( new Low() );
System.out.println( "Low speed!" );
}
}
class Low extends State
{
public void pull( Car wrapper )
{
wrapper.setState( new High() );
System.out.println( "High speed!" );
}
}
class High extends State
{
public void pull( Car wrapper )
{
wrapper.setState( new Off() );
System.out.println( "Off speed!" );
}
}
class Client
{
public static void main(String[] args)
{
Car car = new Car();
car.pull();
car.pull();
car.pull();
}
}