什么是.NET中的Vanilla对象?

Sha*_*jib 6 .net design-patterns dependency-injection object

我正在从MSDN上阅读关于依赖注入的这篇文章,我在文章中看到了一个我不太明白的术语,引用:

在应用程序开发中使用容器有几个原因.容器提供了使用大量其他服务包装vanilla对象的能力.这允许对象对某些基础结构和管道细节保持无知,例如事务性和基于角色的安全性.通常,客户端代码不需要知道容器,因此对容器本身没有真正的依赖性.

这些服务可以以声明方式配置,这意味着可以通过一些外部方式配置它们,包括GUI,XML文件,属性文件或基于.NET的vanilla属性.

我知道'香草'通常指的是一些简单的东西,但我并不完全理解这里的含义.

vanilla在.NET中引用了什么?

Jon*_*eet 11

某些上下文会使问题更清晰,但通常它用于表示没有"特殊权力"的普通对象(或类型).例如,如果序列化方案声称使用"vanilla对象",那么您不需要使用额外的属性等来装饰它以便序列化它.同样,如果ORM与vanilla类型一起使用,则不需要实现特定的接口或类似的东西.

编辑:好的,看过上下文后,上面似乎是正确的.

另一种思考方式是你可以编写一个类型,然后框架可以使用它而不需要知道框架的类型.因此,一些 DI框架要求您自己修饰类型以允许注入,而其他框架则不需要.后一种框架能够与"香草"类型一起使用.