话题 首页 > Ruby 教程 > Ruby 教程话题列表 > 详情

如何理解IoC(Inversion of Control)?

精华
LYUHE 2016-10-21 03:21:18 浏览(3226) 回复(4) 赞(0)
如何理解IoC(Inversion of Control)?如果能写个demo解释最好了。
ruby

回答(4)

宇文傻姑 2016-10-21

IoC:控制翻转 DI:依赖注入

控制翻转是代码复用的一种模式(注意不是设计模式)

一般(非IoC)的复用,通常是用户代码调用组件(任意形式的被复用的代码,本答案中统称为组件)。也就是用户代码解决“Why it works, What to do”,组件解决“How to do”,逻辑的入口是用户代码, 而控制翻转则是组件来调用用户代码,也就是组件解决“Why it works, When to do”,用户代码解决“What to do”,逻辑的入口是组件

下面是除了DI之外的控制翻转的例子:

1.接口/虚函数 组件调用接口/虚函数,具体由用户代码实现

2.发布订阅(事件)模式 组件触发事件,用户代码订阅事件

3.回调 用户代码写回调,组件来调用

4.几乎所有能被称之为框架的东西 用户代码在规定的地方实现具体业务逻辑,剩下的框架负责

一笔荒芜 2018-05-31

我也不清楚,坐等大神,火钳刘明!!!

1144100656 2018-05-31

大神在哪里呀,大神在哪里呀,大神在哪里呀.

1152696398 2018-05-31

有问题找度娘,大佬太少,问题不好解决!!!!!

要回复,请先登录 或者注册