// 工厂设计模式代码
// 工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。
// 在工厂模式中,我们创建对象而不是直接实例化对象,这样可以帮助我们在创建对象时更加灵活。
// 下面是一个简单的工厂模式示例,其中我们使用工厂方法来创建不同类型的汽车对象。
interface Car {
void drive();
}
class SedanCar implements Car {
@Override
public void drive() {
System.out.println("Driving a sedan car");
}
}
class SUVCar implements Car {
@Override
public void drive() {
System.out.println("Driving an SUV car");
}
}
class CarFactory {
public static Car createCar(String type) {
if (type.equalsIgnoreCase("sedan")) {
return new SedanCar();
} else if (type.equalsIgnoreCase("suv")) {
return new SUVCar();
} else {
throw new IllegalArgumentException("Invalid car type: " + type);
}
}
}
public class test {
public static void main(String[] args) {
Car sedan = CarFactory.createCar("sedan");
sedan.drive();
Car suv = CarFactory.createCar("suv");
suv.drive();
}
}
// 工厂模式的优点:
// 1. 工厂模式可以帮助我们在创建对象时更加灵活,因为我们可以通过工厂方法来创建不同类型的对象。
// 2. 工厂模式可以帮助我们隐藏对象的创建细节,因为客户端只需要知道如何使用工厂方法来创建对象即可。
// 3. 工厂模式可以帮助我们遵循开放封闭原则,因为我们可以通过添加新的工厂方法来创建新的对象类型,而不需要修改现有的代码。