Impl: 具体实现Api的实现类,可能会有多个
Factory: 工厂,选择合适的实现类来创建Api接口对象
Client: 客户端,通过Factory 来获取Api接口对象,然后面向Api接口编程
作用
帮忙创建对象(核心方法可以使用静态方法,称之为静态工厂)。
适用场景
当不知道创建什么对象的时候去使用
创建对象过于复杂的时候去使用。
优点
简单工厂是工厂模式中创建对象最简单的方式,通俗容易理解。
缺点
当要生产对象的模块发生了需求变更,此时要被实例化的类可能会增加或者减少,此时就需要改工厂模式的核心代码,违背了开闭原则。