gpt4 book ai didi

c# - 关于 IoC/DI VS CBSE 的信息

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:51 26 4
gpt4 key购买 nike

我有几个关于 IoC 和 CBSE 之间的区别的问题,我一生都找不到。

我使用 IoC/DI 已经有一段时间了,特别是在 PHP 中使用 Laravel,所以我认为我对它的工作原理和使用方法有很好的了解。我最近购买了 George T. Heineman 的一本书“基于组件的软件工程”。当涉及到组件如何与其他组件通信时,我遇到了一些困惑,因此开始进行一些在线研究。我正在专门查找 C# 示例,据我所知,CBSE 与 Ioc/DI 非常相似,在某些情况下,我经常想知道人们是否只是将其称为错误的东西。

我在阅读这本书时看到的最大区别是,与其注入(inject)更线性的依赖关系,不如在你的界面中告诉它你想使用哪个类。我觉得我好像完全偏离了基地,错过了 CBSE 的全部要点,但找不到任何让我兴奋的信息。任何人都能够提供一些信息来解决这个问题?


小更新:
如果我理解正确的话,CBSE 背后的想法听起来真的很棒。但是我对组件如何相互通信感到困惑。如果我理解正确,组件不应该知道任何其他组件。因此,尽管为所有事件抛出事件都有效,但只有在需要信息的组件知道和/或期望有 x 组件抛出该事件时才有效。

出于一些原因,我正在尝试解决这个问题。看看这是否是我想要学习并开始用于我作为应用程序程序员的工作以及我对游戏编程的爱好的途径。我通过研究游戏编程来到 CBSE。

最佳答案

基于组件的软件工程是一种软件开发范例,它指定应该针对接口(interface)依赖性构建软件,以最大限度地提高组件的封装性和可重用性。在许多语言中,这种范式需要控制反转以满足这种范式。

但是,基于组件的软件工程并不是控制反转,它只是一种软件设计模型,使用 DI 和 IoC 容器可以最轻松、最完整地完成。对于 C#,如果您想走基于组件的软件工程路线,那么我会考虑熟悉 DI、IoC 及其各自容器的运作方式。

关于c# - 关于 IoC/DI VS CBSE 的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22489870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com