一种控制反转(IOC)容器,用于构建分离的、可配置的、可插入的应用程序。
wired的Python项目详细描述
有一个大型应用程序,您希望在其中减少组件之间的耦合? 需要为应用程序的各种服务提供配置?想 制作一个pluggable应用程序让其他人可以提供服务?
Inversion of Control和 Dependency Injection是 通常用于这些目标的两种模式。
wired是控制反转(ioc)容器的实现,并且 可以用作依赖注入(DI)框架的核心,也可以简单地用作 一种将应用程序中服务的配置时间与运行时分离的方法。它 还提供缓存,以便容器维护每个 它们被实例化时的服务。
wired旨在缩小到最简单的情况,并扩展到非常大的自定义 系统。它有一个依赖项,那个依赖项有一个依赖项。
见https://wired.readthedocs.io或 docs/index.rst在此发行版中获取详细文档。
0.2.1(2019-08-12)
- 添加了wired.dataclasses可选包,支持自动 为Python3.7的类型化数据类生成服务工厂。 谢谢保罗! 见https://github.com/mmerickel/wired/pull/19
- 添加了一个关于围绕Python3.7编写DI框架的新教程 类型化数据类。再次感谢保罗! 见https://github.com/mmerickel/wired/pull/16
0.2(2019-04-22)
向后不相容性
- wired.ServiceContainer.set已重新定义以设置服务实例 对于特定的上下文对象而不是上下文类型。新的 方法wired.ServiceContainer.register_singleton是直接替换 因为以前的行为。
功能
- 添加wired.ServiceContainer.register_factory和 wired.ServiceContainer.register_singleton每个容器 类似于它们在wired.ServiceRegistry上的每个注册表变量。
- 编辑文档以(a)改进销售宣传,(b)分成几个子页面, (c)提供教程。更新自述文件和setup.pydescription a 也有点。 见https://github.com/mmerickel/wired/pull/6
0.1.2(2019-03-23)
- 添加对Python3.7的支持。
- 修复两个同名的不同服务类 被视为相同的服务,从而破坏基于类型的查找。
0.1.1(2018-08-04)
- 在许多短期上下文的情况下稍微改进内存管理 物体被用来追踪和清理它们的弱点。
0.1(2018-08-01)
- 初次发布。