在多次面试中,多次和面试官讨论到工厂模式(Factory Pattern).
概念我可以很轻易地说出,可是如果面试官问到更深的层面,我就发现原来自己理解的是如此的浅显,借这个机会把它解释透彻:
使用工厂模式的两种情况:
1, 在编码时不能预见需要创建哪种类的实例;
2,系统不应依赖于产品类实例如何被创建,组合和表达的细节。
分为三类: 1,简单工厂模式(Simple Factory) ,2, 工厂方法模式(Factory Method),3,抽象工厂模式(Abstract Factory)
1,简单工厂模式:
2, 工厂方法模式:
组成:抽象工厂角色,具体工厂角色,抽象产品角色,具体产品角色
3,抽象工厂方法:
一定是针对有相关功能的产品族,并且系统一次只能消费一种产品。