C# MEF与温莎城堡-有什么区别

C# MEF与温莎城堡-有什么区别,c#,.net,wpf,castle-windsor,mef,C#,.net,Wpf,Castle Windsor,Mef,我正在读有关温莎城堡和MEF的书 我试图了解他们之间的区别是什么?(它们有相同的目的吗?) 如果有人能给出一个简单的解释有什么不同,那就太好了。有些不同。 MEF是关于动态发现“插件”类功能的dll。 您通常不会将其用于依赖项注入,尽管理论上是可能的 Castle Windsor是关于依赖注入的,而依赖注入又是关于解耦代码的。您希望DI的常见场景是为自动化测试提供模拟,这样您就可以为(缓慢且可能变化的)数据库层切换出一组(快速且可预测的)内存中模拟类 两者都很有用,只是方式不同。有些不同。 M

我正在读有关温莎城堡和MEF的书

我试图了解他们之间的区别是什么?(它们有相同的目的吗?)

如果有人能给出一个简单的解释有什么不同,那就太好了。

有些不同。 MEF是关于动态发现“插件”类功能的dll。
您通常不会将其用于依赖项注入,尽管理论上是可能的

Castle Windsor是关于依赖注入的,而依赖注入又是关于解耦代码的。您希望DI的常见场景是为自动化测试提供模拟,这样您就可以为(缓慢且可能变化的)数据库层切换出一组(快速且可预测的)内存中模拟类

两者都很有用,只是方式不同。

有些不同。 MEF是关于动态发现“插件”类功能的dll。
您通常不会将其用于依赖项注入,尽管理论上是可能的

Castle Windsor是关于依赖注入的,而依赖注入又是关于解耦代码的。您希望DI的常见场景是为自动化测试提供模拟,这样您就可以为(缓慢且可能变化的)数据库层切换出一组(快速且可预测的)内存中模拟类


两者都很有用,只是方式不同。

从技术上讲,您可以使用MEF进行DI,但这就像用火箭筒射击蚂蚁一样。据我所知,没有理由同时使用它们,对吗?我应该选择一个适合我的应用程序的?两者都有很好的理由使用。虽然您可以将MEF用于DI,但这样做并不常见。顺便说一句,Castle Windsor是更古老、更复杂的DI框架之一。如果您正在考虑使用哪个框架,那么您可能会找到一个更新的框架,或者更简单的框架适合您的目的。特别是如果只有你在开发一个应用程序。从技术上讲,你可以使用MEF进行DI,但这就像用火箭筒射击蚂蚁一样。据我所知,没有理由同时使用它们,对吗?我应该选择一个适合我的应用程序的?两者都有很好的理由使用。虽然您可以将MEF用于DI,但这样做并不常见。顺便说一句,Castle Windsor是更古老、更复杂的DI框架之一。如果您正在考虑使用哪个框架,那么您可能会找到一个更新的框架,或者更简单的框架适合您的目的。特别是如果只有你在开发应用程序。