🌟 三种工厂模式区别演化
刚开始时,为了封装统一管理产品的创建,将所有创建方法写到简单工厂中,提供一个参数来确定创建产品的具体实现方法。
但是增加一个新的产品实现方法需要改动源代码,耦合较大,于是将工厂创建方法抽象出来,变成一个抽象工厂类,各个不同的工厂去继承并实现创建产品的具体实现方法,这样在新增一个新的产品实现方法时,只需继承抽象工厂类即可,获得产品时使用向上转型。
为了管理多个相关的产品,抽象工厂类中会存在多个抽象创建方法用来创建不同的产品而不是只有一个,具体的工厂实现类需要去实现所有产品的创建方法