工厂方法模式
定义个抽象父类,抽象父类中定义一个抽象的创建对象的方法,然后由子类来创建相应的对象,这样子我们还需要添加产品的话,只需要创建新的子类就可以了。适合创建单个产品使用
案例
代码
定义一个产品以及一个实现类
/**
* 产品
*
* @author: Hui
**/
public interface Product {
void use();
}
/**
* 实现类
*
* @author: Hui
**/
public class Product1 implements Product{
@Override
public void use() {
System.out.println("Product1");
}
}
定义抽象父类以及具体的子类工厂
/** 抽象父类
*
*
* @author: Hui
**/
public abstract class Factory {
public abstract Product createProduct();
}
/** 具体的子类工厂
*
*
* @author: Hui
**/
public class CreateFactory1 extends Factory{
@Override
public Product createProduct() {
return new Product1();
}
}
客户端使用
/** 客户端使用
*
*
* @author: Hui
**/
public class Client {
public static void main(String[] args) {
Factory factory = new CreateFactory1();
factory.createProduct().use();
}
}