我看到很多 .Net 和 Java 的 IoC 框架。有谁知道为什么 Smalltalk 没有等效的框架。这更像是一个哲学问题。我想知道 Smalltalk 的做事方式中是否有某些东西排除了 IoC 框架的必要性。
MVC http://en.wikipedia.org/wiki/Model_view_controller是在 Smalltalk 上发明的,可以说是最初的控制反转 http://en.wikipedia.org/wiki/Inversion_of_control框架。虽然比 Java 版本更轻量级,但它具有保存数据的模型、响应控制器传播的事件而呈现数据的视图的基本概念。
不那么轻率的是,Java 实际上需要大量框架支持来构建 Web 应用程序,而无需过多的样板代码。 Smalltalk 支持编程习惯,例如延续 http://en.wikipedia.org/wiki/Continuations,这允许作者假装他们没有真正编写事件驱动的代码。Seaside http://en.wikipedia.org/wiki/Seaside_(software)像这样工作,通过更灵活的开发范例提供 IoC 的好处。
编辑:MVC 是 Smalltalk 中 UI 的一个框架(可以说它并不是真正的框架,但类库内置了对它的支持)。它具有控制属性的反转,因为视图和模型响应控制器调度的事件 - 不要打电话给我们,我们会打电话给您属性。控制反转是框架内的一种设计模式,用于减少 java 应用程序中对大量样板文件的需求。在应用程序框架的某些定义中,控制反转是被视为区分框架和库的主要属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)