工厂方法
模式(Factory Method)是一种创建型
设计模式,它提供了一种将对象的创建委托给子类的方式。在工厂方法
模式中,父类负责定义创建对象的接口,而子类则负责实现这个接口并创建对象。
以下是一个简单的工厂方法
模式的实现
示例:
```java
// 抽象产品
interface Product {
void doSomething();
}
// 具体产品1
class ConcreteProduct1 implements Product {
@Override
public void doSomething() {
System.out.println("ConcreteProduct1 do something");
}
}
// 具体产品2
class ConcreteProduct2 implements Product {
@Override
public void doSomething() {
System.out.println("ConcreteProduct2 do something");
}
}
// 抽象工厂
interface Factory {
Product createProduct();
}
// 具体工厂1
class ConcreteFactory1 implements Factory {
@Override
public Product createProduct() {
return new ConcreteProduct1();
}
}
// 具体工厂2
class ConcreteFactory2 implements Factory {
@Override
public Product createProduct() {
return new ConcreteProduct2();
}
}
使用工厂方法模式的优点包括:1. 降低代码耦合度:工厂方法模式将对象的创建和使用分离开来,降低了对象之间的耦合度。2. 更好的扩展性:添加新的产品时,只需要添加一个对应的具体产品类和具体工厂类即可,不需要修改已有的代码。3. 符合单一职责原则:每个具体工厂类只负责创建一种产品,符合单一职责原则。工厂方法模式的缺点包括:1. 增加了类的个数:工厂方法模式需要创建大量的工厂类和产品类,增加了类的个数。2. 增加了系统的复杂度:工厂方法模式将对象的创建和使用分离开来,增加了系统的复杂度。工厂方法模式的应用场景包括:1. 当一个类不知道它所必须创建的对象的类时,可以使用工厂方法模式。2. 当一个类希望由它的子类来指定所创建的对象时,可以使用工厂方法模式。3. 当需要将对象的创建和使用分离开来以便分别独立地变化时,可以使用工厂方法模式。4. 当需要提供一个全局的访问点来创建某种类型的对象时,可以使用工厂方法模式。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/4356.html