Unity vs EntLib?

时间:2010-12-16 14:59:42

标签: mvvm enterprise-library unity-container

我一直在使用EntLib,最近发现了Unity。乍一看,它似乎可以处理EntLib所做的大部分工作,但看起来更轻盈。

推荐哪一天,MVVM架构,以及其中一个的优点/缺点?

感谢。

2 个答案:

答案 0 :(得分:6)

Unity是一个依赖注入容器,支持拦截。 EntLib是一个包含9个应用程序块的库,其中一个是Unity。 EntLib具有更广泛的范围,它处理其他跨领域问题 - 考虑日志记录,验证,异常管理,数据访问,缓存等。

早在2008年我们在EntLib4.0工作期间设计Unity时,我们很快意识到许多开发人员可以从中受益。这就是我们独立发货的原因。

EntLib5.0完全由DI驱动,默认使用Unity容器。如果您愿意,可以将其换成另一个容器。 Prism也是如此,它与容器无关。如果EntLib被设计为在应用程序的任何层中使用,则Prism专门用于构建复合UI(在WPF和Silverlight中)。 EntLib和Prism是互补的,不重叠。

答案 1 :(得分:3)

Unity是一个依赖注入容器和它自己的应用程序块;而EntLib是一组应用程序块,Unity理论上可以将其作为其中的一部分。

你也有Prism包含Unity / EntLib和不同的块,以生成适用于Silverlight和WPF中MVVM开发的各种块的自助餐。

最初我会说要使用Prism,因为您已经熟悉EntLib并且可以使用Unity作为您的DI容器。 Prism还可以轻松地让您使用所需的内容,并忽略不同块中的内容。