定义
定义一个创建对象的接口,让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。(创建型)
使用场景:
- 创建对象需要大量重复的代码
- 客户端不依赖产品类实例如何被创建、实现等细节
- 一个类通过子类来指定创建哪个对象
优点:符合开闭原则,提高可拓展性
比较
工厂方法:抽象产品,抽象工厂(工厂具体实现由子类完成)
简单工厂:没有抽象化工厂,工厂类完成所有产品生产(不符合开闭原则,可以利用反射改善)
imageUML类图
定义
定义一个创建对象的接口,让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。(创建型)
使用场景:
优点:符合开闭原则,提高可拓展性
比较
工厂方法:抽象产品,抽象工厂(工厂具体实现由子类完成)
简单工厂:没有抽象化工厂,工厂类完成所有产品生产(不符合开闭原则,可以利用反射改善)
imageUML类图
本文标题:工厂方法
本文链接:https://www.haomeiwen.com/subject/cgmseqtx.html
网友评论