工厂方法模式
定义 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法类把实例化推迟到子类。
这里的“接口”泛指实现某个超类型(可以是类或接口)的某个方法。
注意 工厂方法让子类决定要实例化的类是哪一个,这里的“决定”,并不是指模式允许子类本身在运行时决定,二是指在编写创建者类(超类)时,不需要知道实际创建的产品是哪一个。选择了使用哪个子类,自然决定了实际创建的产品是什么。
流程图
抽象工厂模式
提供一个接口用于创建相关或依赖对象的家族,而不需要明确指定具体类。
抽象工厂需要用到工厂方法来产生家族中的每一个产品
看完《head first 设计模式》中的工厂模式,感觉没啥感觉,可以去网上搜搜别人写的博客加深理解。
博客参考:https://blog.csdn.net/zxt0601/article/details/52798423