Python依赖注入与反模式实践
依赖注入模式概述
依赖注入模式是将类的依赖作为外部实体传递,而非在类内部创建,这有助于实现松耦合、模块化和可测试性。在实际生活中,有许多依赖注入的例子:
- 电器与电源插座 :各种电器可插入不同插座用电,无需直接永久布线。
- 相机镜头 :摄影师可更换相机镜头以适应不同环境和需求,无需更换相机本身。
- 模块化火车系统 :可根据行程需求添加或移除车厢。
在软件开发中,依赖注入模式也有广泛应用:
- Web应用 :将数据库连接对象注入到存储库或服务组件中,可增强模块化和可维护性,便于切换数据库引擎或配置,还能简化单元测试。
- 配置管理 :通过动态注入配置设置到模块中,可减少模块与配置源之间的耦合,方便管理和切换不同环境。
使用模拟对象实现依赖注入
下面通过一个简单的天气服务示例来展示如何使用模拟对象实现依赖注入。
- 定义接口 :使用Python的
Protocol特性定义天气API客户端接口。
from typing import Protocol
class WeatherApiClient(Protocol):
def fetch_weather(self, location):
超级会员免费看
订阅专栏 解锁全文

1206

被折叠的 条评论
为什么被折叠?



