抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要指定具体类.
工厂用于创建产品家族,客户要创建产品只需使用工厂即可,不需要直接动手去new出所有产品家族,例:
interface AbstractFactory {
createProductA();
createProductB();
}
ConcreteFactoryA() implements AbstractFactory {
createProductA();
createProductB();
}
ConcreteFactoryB() implements AbstractFactory {
createProductA();
createProductB();
}
在实际使用时.如要要创建产品家族productA和productB.只需要使用
工厂方法 ConcreteFactoryA() 和 ConcreteFactoryB() 即可
少用new,多用工厂,在实际使用时不需要关心生产的产品具体是什么.上层不依赖于下层,打到松耦合的目的.
不要让高层依赖低层组件,而且要依赖抽象.不要依赖具体类
工厂用于创建产品家族,客户要创建产品只需使用工厂即可,不需要直接动手去new出所有产品家族,例:
interface AbstractFactory {
createProductA();
createProductB();
}
ConcreteFactoryA() implements AbstractFactory {
createProductA();
createProductB();
}
ConcreteFactoryB() implements AbstractFactory {
createProductA();
createProductB();
}
在实际使用时.如要要创建产品家族productA和productB.只需要使用
工厂方法 ConcreteFactoryA() 和 ConcreteFactoryB() 即可
少用new,多用工厂,在实际使用时不需要关心生产的产品具体是什么.上层不依赖于下层,打到松耦合的目的.
不要让高层依赖低层组件,而且要依赖抽象.不要依赖具体类