? ? ?工厂方法模式(Factory Method Pattern)是一种常用的类创建型设计模式,它属于对象的创建型模式,主要用来封装对象的创建过程。在该模式中,一个抽象工厂定义了一个接口用于创建产品对象,但实际的实例化延迟到子类中进行,也就是说,具体的产品是由其对应的工厂来创建的。
// 抽象产品
public abstract class Coffee {
public abstract void brew();
}
// 具体产品
public class Americano extends Coffee {
@Override
public void brew() {
// 美式咖啡冲泡逻辑
}
}
public class Latte extends Coffee {
@Override
public void brew() {
// 拿铁咖啡冲泡逻辑
}
}
// 抽象工厂
public abstract class CoffeeFactory {
public abstract Coffee makeCoffee();
}
// 具体工厂
public class AmericanoFactory extends CoffeeFactory {
@Override
public Coffee makeCoffee() {
return new Americano();
}
}
public class LatteFactory extends CoffeeFactory {
@Override
public Coffee makeCoffee() {
return new Latte();
}
}
在上面的代码中,CoffeeFactory
是抽象工厂,AmericanoFactory
和LatteFactory
是具体工厂,而Americano
和Latte
是具体产品。通过不同的工厂可以创建不同类型的咖啡产品。