什么是工厂模式?
工厂模式属于创建型设计模式,主要用于创建对象,而不是暴露创建对象的逻辑给客户端。
- 其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。
举个例子
- 卡车Truck和轮船Ship都必须实现运输工具Transport接口
- 该接口声明了一个名为deliver的方法
- 卡车都实现了deliver方法,但是卡车的deliver是在陆地上运输,而轮船的deliver是在海上运输
- 调用工厂方法的代码无需了解不同子类之间差别,只管调用接口的deliver方法即可。
工厂模式的主要类型
- 简单工厂模式
- 引入了创建者的概念,
- 将实例化的代码从应用程序的业务逻辑中分离出来
- 简单工厂模式包括一个工厂类,它提供一个方法用于创建对象。
应用场景
- 数据库访问层(DAL)组件
- 工厂方法模式适用于数据库访问层,
- 其中需要根据不同的数据库(如MySQL,PostgreSQL,Oracle) 创建不同的数据库连接。
- 工厂方法可以隐藏这些实例化逻辑,只提供一个统一的接口来获取数据库连接。
- 日志记录
当应用程序需要实现多种日志记录方式(如向文件记录,数据库记录或远程服务记录)时
- 可以使用工厂模式来设计一个灵活的日志系统
- 根据配置或环境动态决定具体使用哪种日志记录方式。

浙公网安备 33010602011771号