Python dependencies 库
2022年3月28日 09:50
前言
在 Java Spring Boot 等等的后端领域,会大量使用依赖注入的方式来简化复杂的设计模式。
实现参数的自动化注入。
这些设计方式在 Python 的世界里使用不多,因为 Python 语言足够灵活。
倘若需要开发复杂的框架,使用 依赖注入 框架可以简化很多代码。
依赖注入解决的问题
在日常开发中,我们的方法调用可能会越来越深。
1  | 
  | 
上面是一个简单的机器人创建调用函数。
调用方式会伴随则系统的复杂程度逐层深入。
到了create_robot_finger深度的时候,可能会需要在上层传入参数控制 finger 的数量
1  | 
  | 
这需要将参数补充到 调用链条 的每一个函数当中。
如果只是上面的 三层 调用深度,那可能手动修改维护还不是什么问题。
但倘若调用深度很深,那这个代码修改量就会非常庞大。
不利于代码的扩展和维护。
在 Python 的世界里,解决这个问题的方法有很多。
- 导入 配置 模块,外部获取参数配置
 - 面向对象 注入依赖,从实例化中获取参数配置