当我最近开始学习WPF和MVVM时,我在.NET中遇到了某种框架或技术,这使得请求某种服务变得非常容易。在我的特定情况下,我有一个程序集来处理将应用程序首选项写入XML文件,我想让大型应用程序中的所有程序集都使用它来将自己的首选项集写入同一文件。
我认为这是Unity,但是当我查看它时,它似乎并不是我所读到的。我拥有的唯一线索是我认为它叫做服务(它不是WCF),你可以用两种方式请求服务:一种方式每次都给你相同的服务,比如单身,另一种方式给你每次都有一个新实例。
请帮助慢慢记住我的可怜记忆。 :)
答案 0 :(得分:1)
我的猜测是你指的是微软的Common Service Locator。
虽然您可能只是在讨论Dependency Injection,但Unity就是这样一个库。还有许多其他DI库,包括AutoFac,Ninject,StructureMap和Castle Windsor。 CSL只是抽象DI库本身的一种方式,当你是一个框架/库设计者并希望在不依赖于特定实现的情况下使用DI时,它非常有用。