鼓楼区建设局网站,网站如何开启gzip压缩,阿里云域名注册打算了怎么办,wordpress 单页面模板三个概念#xff1a;
简单工厂模式#xff1a;就是一个简单的工厂类#xff0c;根据不同的入参类型#xff0c;返回不同的父类引用的子类对象。 工厂方法模式#xff1a;就是将生成哪个子类对象的过程#xff0c;延迟到工厂子类实现#xff0c;工厂父类只定义接口。 抽…三个概念
简单工厂模式就是一个简单的工厂类根据不同的入参类型返回不同的父类引用的子类对象。 工厂方法模式就是将生成哪个子类对象的过程延迟到工厂子类实现工厂父类只定义接口。 抽象工厂模式就是在工厂方法模式的基础上将使用哪个工厂子类的逻辑再使用简单工厂的模式生成。
互相关系
工厂方法模式就是对简单工厂模式的改进。 抽象工厂模式就是对工厂方法的改进。
优缺点
简单工厂模式就是简单但不符合开闭原则新增类需要修改工厂类
为了解决简单工厂模式的开闭原则出现了工厂方法模式。 工厂方法模式新增类不需要修改工厂类但可能需要新增对应的工厂类。而且多个工厂类之间没有太多联系不好管理。
抽象工厂模式用简单工厂模式的套路管理了工厂方法模式的多个工厂类。但缺点就是不简单了想简单点就用简单工厂模式吧。
可以看出这三个工厂模式按照顺序每个模式都是为了解决上一个模式的问题但同时又有了新的问题。
举个不太恰当但很形象的例子
背景是乙方向甲方提供一份项目的一个模块的设计。
一开始乙方说用简单工厂模式甲方说不好。 然后乙方改进后说用工厂方法模式吧甲方犹豫了一会说觉得还能更好。 然后乙方又改进说那就用抽象工厂模式吧甲方看了半天点点头说好是好就是有点复杂后期怕是不好维护。
最终甲方使用了第一版的简单工厂模式。
参考三个工厂设计模式的单独介绍
简单工厂模式 工厂方法模式 抽象工厂模式