依赖注入,控制反转等概念在JAVA中一般提及的比较多,今天看看在前端中怎么玩。

假如现在要写一个类,这个类用到了AA类和BB类,正常的写法如下:

这种写法就是直接在上层App中使用了AA和BB,这种就是耦合比较强。假如AA类改了名字,改成AAA,那么我们就要去修改App内部的名字,这样有可能会导致问题,因此我们要将AA,BB类的定义分离出去。

上面那种将强耦合的部分移到上层的动作就是依赖注入了。但是这样依旧不够,假如需要在App中使用一个CC类,那么我们的入口需要增加一个cc的配置,然后App内部还是要去接收以及处理CC类相关方法。这时可以用控制反转的概念。

这种结构让App的内部不再处理如何业务相关的内容,反而转嫁到几个Wrapper上了,每个Wrapper提供一个init方法,这个init方法里面初始化具体的类,然后同时可以接收来自上层的参数传递。

当然,一般情况下我们也用不上这么复杂的结构,这种结构一般是处理可扩张插件用的,例如Vue.use安装插件跟这种逻辑就比较相似。

其他文章

0
我要评论

评论

返回
×

我要评论

回复:

昵称:(昵称不超过20个字)

图片:

提交
还可以输入500个字