当先锋百科网

首页 1 2 3 4 5 6 7

Java工厂模式和简单工厂是两种常见的设计模式,在Java开发中经常使用,但是他们之间还有一些不同之处。

简单工厂是由一个工厂对象根据传入的参数决定创建哪一种产品类的实例,而工厂模式则是通过定义一个用于创建对象的接口来实现,让子类决定实例化哪一个类。在工厂模式中,客户端只需要知道需要什么产品,而无需关心产品的创建过程。

/**
* 简单工厂模式
*/
public class SimpleFactory {
public static Product createProduct(String productName) {
switch (productName) {
case "A":
return new ProductA();
case "B":
return new ProductB();
default:
return null;
}
}
}
/**
* 工厂模式接口
*/
public interface Factory {
Product createProduct();
}
/**
* 工厂模式实现类
*/
public class ProductAFactory implements Factory {
@Override
public Product createProduct() {
return new ProductA();
}
}
public class ProductBFactory implements Factory {
@Override
public Product createProduct() {
return new ProductB();
}
}

从代码实现上看,简单工厂模式只有一个工厂类,而工厂模式需要定义一个工厂接口和多个实现工厂类,这样可以更好地遵循开闭原则,方便扩展。

总之,工厂模式和简单工厂虽然都可以用来创建对象,但是在适用方向、实现方式等方面还是有所不同,需要根据具体情况来选择合适的模式。