【发布时间】:2014-03-18 20:05:09
【问题描述】:
我有几个关于 IoC 和 CBSE 之间差异的问题,我这辈子都找不到。
我已经使用 IoC/DI 很长一段时间了,特别是在 PHP 中使用 Laravel,所以我认为我对它的工作原理和使用方法有了很好的掌握。我最近购买了 George T. Heineman 的《基于组件的软件工程》一书。当谈到组件如何与其他组件通信时,我遇到了一些困惑,因此开始进行一些在线研究。我正在专门查找 C# 示例,据我所知,CBSE 与 Ioc/DI 非常相似,在某些情况下,我经常想知道人们是否只是把它称为错误的东西。
我在阅读本书时看到的最大区别是,它不是注入依赖项,而是更加线性,并且在你的界面中你告诉它你想要使用什么类。我觉得好像我完全脱离了基地,错过了 CBSE 的全部要点,但找不到任何让我兴奋的信息。任何能够提供一些信息来解决这个问题的人?
小更新:
如果我理解正确的话,CBSE 背后的想法听起来真的很棒。但是我对组件如何相互通信感到困惑。如果我理解正确,组件不应该知道任何其他组件。因此,虽然为所有事情抛出事件都有效,但只有在需要信息的组件知道或期望有 x 组件抛出该事件时才有效。
我试图解决这个问题有几个原因。看看这是否是我想学习并开始用于我作为应用程序程序员的工作以及我对游戏编程的爱好的路线。我是通过研究游戏编程了解 CBSE。
【问题讨论】:
-
对于那些不知道 CBSE 代表什么的人:基于组件的软件工程
标签: c# .net dependency-injection inversion-of-control component-based