工厂,要生产的是各种各样的产品。
Simple Factory,简单工厂,就是最基本的根据传进来的参数来决定生产的是何种产品。
所以,明显的硬编码,采用if,else来实现。
改进方法:Factory Method,工厂方法。
工厂方法将创建产品推迟到了工厂类的子类去。不同的子类分别生产不同的产品。
但是,问题又来了,一种工厂子类生产一种产品。但如果,某种产品又有不同的型号呢?那就要将该工厂子类又分为不同型号的工厂子类。
改进方法:Abstract Factory,抽象工厂。
抽象工厂提供了生产一个产品系列的不同产品的方法,所以,在其内部会有生产不同产品的方法。
参考:
关于Factory, Abstract Factory, Factory Method, 和Builder...