为了账号安全,请及时绑定邮箱和手机立即绑定

什么是控制反转?

什么是控制反转?

侃侃尔雅 2019-06-15 10:49:34
什么是控制反转?当第一次遇到控制反转(或IoC)时,可能会非常混乱。那是什么?它解决了哪些问题?什么时候使用合适,什么时候不合适?
查看完整描述

3 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

当你的程序回调时,控制反转就是你得到的结果,例如,像gui程序。

例如,在旧学校菜单中,您可能拥有:

print "enter your name"
read name
print "enter your address"
read address
etc...
store in database

从而控制用户交互的流程。

在GUI程序或某些程序中,我们相反地说:

when the user types in field a, store it in NAME
when the user types in field b, store it in ADDRESS
when the user clicks the save button, call StoreInDatabase

所以现在控制倒置.。用户不接受固定顺序的用户输入,而是控制输入数据的顺序,以及数据保存在数据库中的时间。

基本上,什么都行使用事件循环,回调或执行触发器属于此类别。


查看完整回答
反对 回复 2019-06-15
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

什么是控制反转?

如果您遵循以下两个简单的步骤,您已经完成了控制反转:

  1. 分开

    什么

    什么时候

    要做的部分
  2. 确保

    什么时候

    部分知道

    一点儿

    尽可能.

    什么

    部分;反之亦然。

基于用于实现的技术/语言,这些步骤中的每一步都有几种可能的技术。

--

这个倒置部分控制反转(IoC)是一件令人困惑的事情,因为倒置是相对术语。了解国际奥委会最好的方法就是忘记这个词!

--

实例

  • 事件处理。事件处理程序(要做什么部分)-引发事件(待做部分)
  • 接口。组件客户端(待做部分)-组件接口实现(要做什么部分)
  • xUnit夹具。安装和拆卸(要做什么部分)-xUnit框架在开始时调用安装程序,在结束时调用拆卸(完成时部分)
  • 模板法设计模式模板方法-to-do部件-原始子类实现什么-to-do部件?
  • COM中的DLL容器方法。DllMain,DllCanUnload等(要做什么部分)-com/OS(待办部分)


查看完整回答
反对 回复 2019-06-15
  • 3 回答
  • 0 关注
  • 1617 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信