我正在探索依赖注入,而术语组合根随处可见。那么它是什么意思?
index.php
并不像一个合适的放置位置。 - Oscar MederosMark Seemann写了一篇关于组合根设计模式的优秀文章。
这篇文章中的要点是:
组合根是应用程序中(最好是)唯一的位置,用于将模块组合在一起。
只有应用程序应该具有组合根。库和框架不应该有组合根。
依赖注入容器应该仅从组合根引用。所有其他模块都不应该引用容器。
http://blog.ploeh.dk/2011/07/28/CompositionRoot/
我根据这些原则编写了自己的JavaScript依赖注入框架Di-Ninja。
https://github.com/di-ninja/di-ninja
据我所知,这是JavaScript中唯一实现组合根设计模式的框架,其文档可能是另一个很好的示例,可用于演示它的工作原理。
它适用于NodeJS、浏览器(使用Webpack或UMD/AMD)和React-Native。