我有一个带有 DDD 数据层的框架,它使用服务定位器模式。但是,目前我使用存储所有引用的全局静态ServiceLocator
类。我想将其重构为正确的实现,其中类实现IServiceProvider
接口并删除全局静态ServiceLocator
类。
IServiceProvider
现在,除了实体类之外,几乎在所有地方都可以使用接口扩展现有类。问题是我认为实体类必须实现非常奇怪IServiceProvider
,但我确实需要一种访问服务提供者的方法,以便能够通过我的 IoC 容器解析存储库。
无需IServiceProvider
在我的实体上实施服务定位器模式的最佳方法是什么?