1.模式定义
所谓工厂方法模式(FactoryMethod Pattern),就是定义一个创建产品对象的工厂接口,让子类决定实例化哪一种实例对象,也就是将实际创建实例对象的工作推迟到子类当中,核心工厂类不再负责具体产品的创建。
2.设计原则
(1).“开- 闭”原则
(2).依赖倒置原则
3.实例:
使用工厂方法 要注意几个角色,首先你要定义产品接口,产品接口下有接口的实现类,其次要有一个factory类,用来生成产品。
产品接口:
public interface ISwordFactory
{
/**
* 生产各类宝刀(返回值是抽象宝刀类型)
*
* @return
*/
public AbstractSwordcreateSword();
}
接口的实现类:
public class Caocao implements ISwordFactory
{
/**
* 实现ISwordFactory接口的createSword方法,生产七星宝刀
*/
public AbstractSwordcreateSword()
{
return new QixingSword();
}
}
工厂类:
public abstract class AbstractSword
{
// 宝刀的名字
private String name;
// 抽象父类的构造方法
public AbstractSword()
{
}
// 获得宝刀名字
public String getName()
{
return name;
}
// 设置宝刀名字
public void setName(String name)
{
this.name = name;
}
}