妙博客

主机评测 香港服务器 洛杉矶VPS测评

设计模式-JAVA-工厂方法模式(Factory Method)

工厂方法模式是一种创建型设计模式,它提供了一种将对象的创建委托给子类的方式,从而使得客户端代码与具体创建类解耦。


下面是一个简单的Java工厂方法模式的示例:


首先,我们定义一个抽象产品类:

public abstract class Product {
    public abstract void use();
}

然后,我们定义两个具体产品类:

public class ConcreteProductA extends Product {
    @Override
    public void use() {
        System.out.println("使用产品A");
    }
}
public class ConcreteProductB extends Product {
    @Override
    public void use() {
        System.out.println("使用产品B");
    }
}

接下来,我们定义一个抽象工厂类:

public abstract class Factory {
    public abstract Product createProduct();
}

然后,我们定义两个具体工厂类,分别用于创建具体产品A和B:

public class ConcreteFactoryA extends Factory {
    @Override
    public Product createProduct() {
        return new ConcreteProductA();
    }
}
public class ConcreteFactoryB extends Factory {
    @Override
    public Product createProduct() {
        return new ConcreteProductB();
    }
}

最后,我们可以使用工厂方法模式来创建具体产品:

public class Client {
    public static void main(String[] args) {
        Factory factoryA = new ConcreteFactoryA();
        Product productA = factoryA.createProduct();
        productA.use();
        Factory factoryB = new ConcreteFactoryB();
        Product productB = factoryB.createProduct();
        productB.use();
    }
}

在上面的示例中,我们使用了工厂方法模式来创建具体产品A和B,而客户端代码并不需要知道具体的产品类,只需要知道对应的工厂类即可。这样就实现了客户端代码与具体创建类的解耦。


JAVA7大原则和23种设计模式汇总,点我查看

Copyright Your 142132.com Rights Reserved. 赣ICP备17010829号-2