UML类图:
/**
* builder design model
* 适合某些类实现比较复杂,分解到builder中逐步实现
*/
public class BuilderDesign{
/**汽车生产线 */
class CarBuilder{
Car car = new Car();
public void buildWhile(){
System.out.println("build car whiles!");
}
public void buildBody(){
System.out.println("build car body!");
}
public Car getCar(){
System.out.println("give your car");
return car;
}
}
class Car {
public void run(){
System.out.println("car is running");
}
}
/** 汽车直销商 */
class CarDirector{
public Car buildCar(CarBuilder builder){
builder.buildBody();
builder.buildWhile();
return builder.getCar();
}
}
public static void main(String[] args) {
CarDirector director = new BuilderDesign().new CarDirector();
Car car = director.buildCar(new BuilderDesign().new CarBuilder());
System.out.println("i have a car!");
car.run();
}
}