工厂模式的定义:
定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。
工厂方法让类把实例化推迟到子类。
抽象工厂模式的定义:
提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
工厂模式的类图:
抽象工厂模式的类图:
说明:
此模式很好的说明了OO中的一个原则:“依赖倒置原则”。(这个倒置,在工厂模式中,指的是低层组件依赖高层的抽象,高层组件也依赖相同的抽象)。
通则如下: 要依赖抽象,不要依赖具体类。也就是,不能让高层组件依赖低层组件,而且,不管高层或低层组件,两者都应该依赖于抽象。