经典的设计模式2——工厂方法模式(含简单工厂模式)
发布人:shili8
发布时间:2024-01-12 10:41
阅读次数:122
工厂方法模式是一种经典的设计模式,它属于创建型模式,用于创建对象的实例。工厂方法模式将对象的创建过程延迟到子类中,从而使得一个类的实例化延迟到其子类。这种模式在实际开发中非常常见,可以有效地解耦对象的创建和使用。
简单工厂模式是工厂方法模式的一种特殊形式,它通过一个工厂类来创建对象的实例。在简单工厂模式中,客户端只需要知道工厂类的名称,而不需要知道具体的产品类的名称。下面我们通过一个简单的例子来演示工厂方法模式和简单工厂模式的使用。
首先,我们定义一个抽象产品类和两个具体产品类:
java// 抽象产品类public interface Product { void show(); } // 具体产品类Apublic class ConcreteProductA implements Product { @Override public void show() { System.out.println("This is product A"); } } // 具体产品类Bpublic class ConcreteProductB implements Product { @Override public void show() { System.out.println("This is product B"); } }
然后,我们定义一个工厂接口和两个具体工厂类:
java// 工厂接口public interface Factory { Product createProduct(); } // 具体工厂类Apublic class ConcreteFactoryA implements Factory { @Override public Product createProduct() { return new ConcreteProductA(); } } // 具体工厂类Bpublic class ConcreteFactoryB implements Factory { @Override public Product createProduct() { return new ConcreteProductB(); } }
最后,我们使用简单工厂模式来创建产品实例:
javapublic class Client { public static void main(String[] args) { Factory factoryA = new ConcreteFactoryA(); Product productA = factoryA.createProduct(); productA.show(); Factory factoryB = new ConcreteFactoryB(); Product productB = factoryB.createProduct(); productB.show(); } }
在上面的例子中,我们定义了一个抽象产品类和两个具体产品类,然后定义了一个工厂接口和两个具体工厂类。客户端通过具体工厂类来创建产品实例,而不需要知道具体产品类的名称。这样就实现了对象的创建和使用的解耦。
工厂方法模式和简单工厂模式在实际开发中非常常见,它们可以帮助我们更好地组织和管理对象的创建过程,从而提高代码的灵活性和可维护性。希望本文对你有所帮助,谢谢阅读!