关于IoC/DI VS CBSE的信息
本文关键字:CBSE 信息 VS DI IoC 关于 | 更新日期: 2023-09-27 17:50:53
关于IoC和CBSE之间的差异,我有几个问题,我找不到我的生活。
我已经使用IoC/DI很长一段时间了,特别是在PHP中的Laravel,所以我想我已经很好地掌握了它是如何工作的以及如何使用它。我最近买了一本George T. Heineman写的《基于组件的软件工程》。当谈到组件如何与其他组件通信时,我遇到了一些困惑,所以开始在网上做一些研究。我特别查找了c#的例子,从我可以看出CBSE与Ioc/DI非常相似,在某些情况下,我经常怀疑人们是否只是把它称为错误的东西。
在阅读这本书时,我能看到的最大的不同是,它不是注入依赖,而是更线性,在你的接口中你告诉它你想要使用什么类。我觉得我完全错了,错过了CBSE的全部要点,但我找不到任何让我兴奋的信息。有人能提供一些信息来澄清这件事吗?
小更新:
如果我理解正确的话,CBSE背后的想法听起来真的很好。但是我开始纠结于组件之间是如何相互通信的。如果我没理解错的话这些分量不应该知道其他分量的任何信息。因此,虽然为所有事情抛出事件都有效,但只有当需要信息的组件知道或期望有x组件抛出该事件时才有效。
我正试图弄清楚这个有几个原因。看看这是否是我作为一名应用程序程序员想要学习并开始使用的路线,以及我对游戏编程的爱好。我是通过研究游戏编程才想到CBSE的
基于组件的软件工程是软件开发的一种范例,它规定人们应该根据接口依赖关系构建软件,以便最大限度地提高组件的封装性和可重用性。这个范例,在许多语言中,需要控制反转来满足这个范例。
然而,基于组件的软件工程并不是控制反转,它只是一个软件设计模型,通过使用DI和IoC容器最容易、最完整地完成它。对于c#,如果你想沿着基于组件的软件工程的路线走下去,那么我会研究一下如何熟悉DI、IoC和它们各自的容器的操作。