简单工厂

序:学习设计模式也有好长时间了 是时候总结一波了

就先拿我们最先接触的简单工厂来做一些总结吧

什么是简单工厂

首先简单工厂并不是一种设计模式,而是一个最简单的工厂模式 它可以根据不同的参数,创建并返回不同的类,其中这些类具有一个公共的父类或者同一个接口。
简单工厂模式包含的类:

- Factory:工厂类,内部是一个方法,目的是根据参数选择创建对象

- Product:抽象类产品类,其作为具体产品的父类,负责定义公共的接口

-ConcreteProduct:具体的类继承与抽象的产品类,工厂就是创建该类的对象

简单工厂

简单工厂的优缺点

优点:客户端不需要关注对象是谁创建的,只要通过工厂中静态方法就可以直接获取其需要的对象
缺点:工厂类中需要选择创建具体某个对象,所以一旦添加新的产品则必须要对工厂中的选择逻辑进行修改,违背了开闭原则!
适应场合:产品类相对较少的情况,使用简单工厂创建产品对象,这样即实现了生产者与消费者的分离,也不会在工厂类中出现太复杂的判断逻辑!