工厂方法(Factory Method)模式
每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。
UML
public interface Product
{
public void productMethod();
}
public class ConcreteProduct implements Product
{
public void productMethod(){
concreteDoSomething;
}
}
public interface Factory {
public Product factoryMethod();
}
public class ConcreteFactory implements Factory {
public Product factoryMethod() {
return new ConcreteProduct();
}
Factory factory;
factory = new ConcreteFactory();
Product product;
product= factory.factoryMethod();