核心模块:Product抽象产品、ConcreteProduct具体产品、Factory工厂角色
所有代码请访问:git@code.aliyun.com:289804201/PatternLearn.git
使用场景:有很多相似的对象,客户不需要关系对象如何创建;
优点:解偶了客户创建对象,减少了客户的记忆量(到底需要创建哪个实例类);
缺点:系统扩展困难,新加产品就要修改工厂逻辑,简单工厂模式由于使用了静态工厂方法,造成工厂角色无法形成基于继承的等级结构;
注意:
1,三个工厂模式,请依次按照简单工厂模式->工厂方法模式->抽象工厂模式来学习;
2,简单工厂实质就是:通过传入一个参数,构造一个客户需要的对象,这点要区别于享元模式的外部状态传入获取对象引用例子;