在Java中,工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。工厂模式可以实现解耦和扩展,主要通过以下几个步骤:
public interface Product {
void use();
}
public class ConcreteProductA implements Product {
@Override
public void use() {
System.out.println("使用具体产品A");
}
}
public class ConcreteProductB implements Product {
@Override
public void use() {
System.out.println("使用具体产品B");
}
}
public class ProductFactory {
public static Product createProduct(String type) {
if ("A".equalsIgnoreCase(type)) {
return new ConcreteProductA();
} else if ("B".equalsIgnoreCase(type)) {
return new ConcreteProductB();
}
return null;
}
}
public class Client {
public static void main(String[] args) {
Product productA = ProductFactory.createProduct("A");
productA.use();
Product productB = ProductFactory.createProduct("B");
productB.use();
}
}
通过以上步骤,我们实现了解耦和扩展。当需要添加新的产品时,只需创建新的实现类并实现接口,然后在工厂类中添加相应的创建逻辑即可。客户端代码不需要修改,从而实现了扩展。同时,由于客户端代码与具体的实现类解耦,可以更容易地替换或修改产品实现,而不影响其他代码。