工厂方法模式
概念简介
工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工厂推迟到子类中。
为何而生
在简单工厂模式中,如果不用反射去创建对象,那么工厂类中势必产生繁杂的if else,工厂方法模式被用来解决这个问题。
工厂方法模式中,核心工厂类不再负责对象的创建,而是把对象的创建交给子类工厂去完成,核心工厂仅负责给出子类工厂必须实现的接口。这样再去添加新产品的时候,只需新增一个子类工厂,而不需改动具体工厂内的代码。
工厂模式结构
1.抽象工厂角色
核心工厂,具体工厂都需继承这个接口
2.具体工厂角色
负责生产产品的工厂
3.抽象产品角色
工厂所生产产品的超类
4.具体产品角色
工厂创建得产品
工厂方法模式示例
1.抽象工厂角色
2.具体工厂角色
3.抽象产品角色
4.具体产品角色
调用
总结:
工厂模式就是用引入子类工厂的方法 去除简单工厂模式所需写的繁杂if else ,使得再增加新产品时不需更改具体生产产品工厂的代码,降低了代码间得耦合度。