Skip to content

灵感

最初接触依赖注入是从 Spring 中开始的,依稀记得我的第一份工作是 java 开发,在第一次开发业务需求的时候,还只知道new一个类来获取对象。 然后我就在项目中 new 了很多实例对象。不出意外的出现了问题,因为是 Spring 项目,所以不应该自己 new 对象,只需要在XML文件中配置好对应的 bean 依赖关系即可。 这给当时的我留下了深刻的印象。

后来又接触到 Angular,第一次了解到依赖注入在前端的应用。最关键的是我之前有使用过 vue 和 react,先入为主的认为 Angular 中一定也有一个全局的 store,但是却怎么也找不到这个 store 对象,反而都是碎片化的 service。后来才反应过来,多 service 其实可以理解为多 store,如果整个项目只有一个 service,那么不就退化成和 vue 以及 react 一样了吗?只不过 service 在 Angular 中非常方便使用而且易于控制作用范围,相对的 vue 中的 store 的 module 本质还是全局范围可见的不同命名空间而已。

所以我的想法就是要把 angular 的 service 特性迁移到 vue 和 react 中。本库作为一个基础库,被user-vue-service等库依赖。

参考其他开源库

SpringAngulartypediInversifyJSiocitibranditypescript-iocinjection-jstsyringetopics ioctopics dependency-injection