简单工厂模式
介绍
简单工厂模式,又称为静态工厂方式模式。
把实例化类对象的工作集中到一个工厂类中,这个工厂只负责给不同的类创建对象,通过传递给这个工厂类不同的信号,工厂类创建不同的类实例,再把创建好的类实例返回回去。
简单工厂模式中,工厂创建的类通常都有一个共同的父类。
例图
优点:
- 工厂内部实现判断的逻辑,决定在什么情况下创建什么类。
- 免除客户端直接创建类,把创建类的责任集中化到统一的工厂中,实现类对责任的分割。
- 客户端不需要知道具体的类名,只需要知道需要需要创建的类的具体参数。对于复杂的类名,可以减少使用者的记忆量。
缺点:
- 不合符开闭原则。当有新的产品(新的类)需要创建时,就必须修改工厂类,添加必要的业务逻辑。
- 集中了创建所有类的逻辑,一旦工厂类不能正常工作,整个系统都会收到影响。
- 使用了静态工厂方法,是的工厂不能形成继承的等级结构。