我有一个3层应用程序。前台,业务,数据层。我使用过Microsoft作为依赖容器。我使用NUnit和RhinoMock来测试应用程序。
我在许多文章中阅读过介绍公共服务定位器层的文章。
**我们应该在哪些scnerios中引入公共服务定位器?
。
发布于 2010-12-12 16:30:19
为什么我们需要公共服务定位器库?
我们并不真正需要它,它只是提供了一个更好的分离。它主要是依赖注入顶部的抽象,这样客户端就不需要知道服务的位置和实现方式。
这通常会转到您的客户端代码。例如,创建代理并调用服务的客户端不需要创建代理,而是从服务定位器中请求代理。
发布于 2010-12-12 16:29:02
我认为您所指的是一种常见的定位依赖关系的方法(即服务),因此在您的示例中,它将取代Unity (或者说,Unity会只实现公共接口)。
通过这种方式,各种框架可以更容易地协同工作,因为它们共享识别服务/插件等的共同方式。
我们已经有了很多实现该功能的库(等),但是如果一个框架(例如MVC)想要获得某个接口的实例,它需要知道您使用的是哪个库,而且由于它们不共享公共接口,这是很困难的。通过一个通用的接口,您可以告诉MVC您希望它从哪里获取对象。
https://stackoverflow.com/questions/4422598
复制相似问题