工厂模式
工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。
类图
依赖倒置原则的几个指导方针:
- 变量不可以持有具体类的引用。
- 不要让类派生自具体类。
- 不要覆盖基类中已实现的方法。
代码
产品类
public abstract class Product{
public abstract void do(){}
}
public class ProductA extends Product {
public void do(){}
}
public class ProductB extends Product {
public void do(){}
}
工厂类
public abstract class ProductFactory {
public abstract Product createProduct(){}
}
public class ProductFactoryA extends ProductFactory {
public Product createProduct() {
return new ProductA();
}
}
public class ProductFactoryB extends ProductFactory {
public Product createProduct() {
return new ProductB();
}
}
抽象工厂模式
定义
抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。