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