5. 工厂方法模式
5.1 工厂方法讲解
- 定义:定义一个创建对象的接口,由子类决定实例化的类,将对象创建延迟到子类。
- 适用场景:
- 创建对象需要大量重复代码。
- 客户端不依赖具体产品的创建细节。
- 优点:
- 符合开闭原则,新增产品只需扩展子类。
- 客户端仅依赖抽象接口,不依赖具体实现。
- 缺点:
5.2 工厂方法 Coding
- 示例演进:将简单工厂改造为工厂方法。
- 创建抽象工厂接口
VideoFactory
,定义getVideo()
方法。
- 创建具体工厂类
JavaVideoFactory
和PythonVideoFactory
,分别返回对应产品实例。
- 类图结构: