在Java中,工廠模式是一種創(chuàng)建型設計模式,它提供了一種創(chuàng)建對象的最佳方式。工廠模式可以實現(xiàn)解耦和擴展,主要通過以下幾個步驟:
public interface Product {
void use();
}
public class ConcreteProductA implements Product {
@Override
public void use() {
System.out.println("使用具體產(chǎn)品A");
}
}
public class ConcreteProductB implements Product {
@Override
public void use() {
System.out.println("使用具體產(chǎn)品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();
}
}
通過以上步驟,我們實現(xiàn)了解耦和擴展。當需要添加新的產(chǎn)品時,只需創(chuàng)建新的實現(xiàn)類并實現(xiàn)接口,然后在工廠類中添加相應的創(chuàng)建邏輯即可??蛻舳舜a不需要修改,從而實現(xiàn)了擴展。同時,由于客戶端代碼與具體的實現(xiàn)類解耦,可以更容易地替換或修改產(chǎn)品實現(xiàn),而不影響其他代碼。