工厂模式常见的三种:
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
工厂模式优点:
- 代码清晰,有效的封装变化
- 对调用者屏蔽具体的产品类
- 降低耦合度
工厂方法模式:
四要素:
- 工程接口,核心。
- 工程实现
- 产品接口,规范
- 产品实现
适用场景:
- 生成复杂对象的地方
- 解耦
- 需要扩展性的时候
例子:
如果我们要new一个车子的时候,还要new轮子,发动机啥的,很麻烦,可以在工厂方法模式中实现
类图
代码示例
interface IProduct {
public void productMethod();
}
class Product implements IProduct {
public void productMethod() {
System.out.println(“产品”);
}
}
interface IFactory {
public IProduct createProduct();
}
class Factory implements IFactory {
public IProduct createProduct() {
return new Product();
}
}
public class Client {
public static void main(String[] args) {
IFactory factory = new Factory();
IProduct prodect = factory.createProduct();
prodect.productMethod();
}
}
学习资料:
- 卡奴达摩的专栏