工厂方法模式是一种常用的创建型设计模式,它定义了一个创建对象的接口,但让子类决定要实例化哪一个类。工厂方法让类的实例化延迟到子类进行。
在工厂方法模式中,主要有以下几个角色:
// 产品接口
public interface Product {
void use();
}
`java
// 具体产品A
public class ConcreteProductA implements Product {
@Override
public void use() {
System.out.println("使用产品A");
}
}
// 具体产品B
public class ConcreteProductB implements Product {
@Override
public void use() {
System.out.println("使用产品B");
}
}`
// 抽象工厂
public abstract class Creator {
// 工厂方法
public abstract Product factoryMethod();
// 业务方法
public void someOperation() {
Product product = factoryMethod();
product.use();
}
}
`java
// 具体工厂A
public class ConcreteCreatorA extends Creator {
@Override
public Product factoryMethod() {
return new ConcreteProductA();
}
}
// 具体工厂B
public class ConcreteCreatorB extends Creator {
@Override
public Product factoryMethod() {
return new ConcreteProductB();
}
}`
public class Client {
public static void main(String[] args) {
// 使用工厂A创建产品A
Creator creatorA = new ConcreteCreatorA();
creatorA.someOperation();
// 使用工厂B创建产品B
Creator creatorB = new ConcreteCreatorB();
creatorB.someOperation();
// 直接获取产品
Product productA = creatorA.factoryMethod();
Product productB = creatorB.factoryMethod();
productA.use();
productB.use();
}
}
使用产品A
使用产品B
使用产品A
使用产品B
工厂方法模式在Java开发中有广泛应用,例如:
通过工厂方法模式,我们可以灵活地创建对象,提高代码的可维护性和扩展性。
如若转载,请注明出处:http://www.w-share.com/product/266.html
更新时间:2025-11-29 08:14:41