本文主要根据网络资料整理,主要参考:设计模式导学目录
工厂模式主要包括简单工厂模式、工厂方法模式、抽象工厂模式。看完三种模式的介绍,也许你和我一样并不能完整的说出它们的区别,感觉好像有点类似又有点区别。查阅了网络上的一些解读(例如知乎问答抽象工厂模式和工厂模式的区别),个人觉得可能主要区别是:
简单工厂模式:定义一个工厂类,根据参数的不同返回不同类的实例,被创建的实例通常有共同的父类。从中可以看出,改模式的重要特点是有参数,并且根据参数来决定创建什么样的具体实例。(参考)
工厂方法模式:定义一个创建一个对象的工厂接口,然后让每一个子类工厂创建一个自己的实例类。(