工厂模式:工厂模式就是把创建对象的实例去交给工厂去做,让创建实例和使用实例分开,解耦
简单工厂:简单工厂一般使用的是静态方法,通过接收不同的参数类型返回不同的对象实例.
工厂方法:工厂方法是针对每一个实例都创建对应的工厂类,通过不同的工厂类生成不同的对象实例
抽象工厂是应对产品族概念的。比如说,每个汽车公司可能要同时生产轿车,货车,客车,那么每一个工厂都要有创建轿车,货车和客车的方法。
区别:
简单工厂 : 用来生产同一等级结构中的任意产品。(对于增加新的产品,无能为力)
工厂方法 :用来生产同一等级结构中的固定产品。(支持增加任意产品)
抽象工厂 :用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)