工厂模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类
抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
工厂方法模式能够封装具体类型 的实例化。
设计原则:依赖倒置原则(要依赖抽象,不能依赖具体类)
指导方针-变量不可以持有具体类的引用;不要让类派生出具体类;不要覆盖基类中已实现的方法。
抽象工厂模式和工厂模式异同:
创建对象的方法不同:抽象-对象的组合;工厂-继承
抽象工厂的用途-需要创建产品家族和想让制造的相关产品集合起来
工厂-客户代码从需要实例化的具体类中解耦
同:将对象创建的过程封装起来,以便将代码从具体类解耦、