相比于静态工厂模式,工厂模式进一步的解耦,为每个类型创建一个工厂类,所有的工厂类都实现同一个工厂接口,通过不同的工厂类创建不同的实例。
public interface VehicleFactory {
Vehicle create();
}
public class CarFactory implements VehicleFactory {
@Override
public Vehicle create() {
return new Car();
}
}
public class BusFactory implements VehicleFactory {
@Override
public Vehicle create() {
return new Bus();
}
}
public class TaxiFactory implements VehicleFactory {
@Override
public Vehicle create() {
return new Taxi();
}
}
public class VehicleCreator {
public static void main(String args[]) {
VehicleFactory carFactory = new CarFactory();
Vehicle car = carFactory.create();
car.specification();
VehicleFactory busFactory = new BusFactory();
Vehicle bus = busFactory.create();
bus.specification();
VehicleFactory taxiFactory = new TaxiFactory();
Vehicle taxi = taxiFactory.create();
taxi.specification();
}
}
This is a Car.
This is a Bus.
This is a Taxi.
本文介绍工厂模式的概念及其在软件设计中的应用。通过实现不同类型的车辆创建过程,展示了如何使用工厂模式来解耦具体类的创建逻辑。该模式通过定义创建对象的接口,并让子类决定实例化哪一个类,实现了系统的灵活性和扩展性。
1443

被折叠的 条评论
为什么被折叠?



