”
帝类 。正如上面所说,这样便分担了对象承受的压力;
—
而且这样使得结构变得灵活 起来
—当有新的产品(即暴发户的汽车)产生时,只要按照抽象产品角色、抽象工厂角色提供的
合同来生成,那么就可以被客户使用,而不必去修改任何已有的代 码。可以看出工厂角
色的结构也是符合开闭原则的!
代码:
//抽象产品角色
public interface Moveable {
void run();
}
//具体产品角色
public class Plane implements Moveable {
@Override
public void run() {
System.out.println("plane....");
}
}
public class Broom implements Moveable {
@Override
public void run() {
System.out.println("broom.....");
}
}
//抽象工厂
public abstract class VehicleFactory {
abstract Moveable create();
}
//具体工厂
public class PlaneFactory extends VehicleFactory{
public Moveable create() {
return new Plane();
}
}
public class BroomFactory extends VehicleFactory{
public Moveable create() {
return new Broom();
}
}
//测试类
public class Test {
public static void main(String[] args) {
VehicleFactory factory = new BroomFactory();