【发布时间】:2013-12-14 19:45:38
【问题描述】:
之前我问过this question,得到的回答是这样的:
这是可行的,但据我所知,将容器注入部件并不是 MEF 的“正常”用例。
在我的网络应用程序中,我有一些存储库,当然,它们可以从数据库中检索实体。为了使它们尽可能松散耦合,我让它们返回接口(例如 IUser、IBill、IBlaBlaBla...),并且存储库项目仅引用库项目(包含接口)。我使用 MEF 组合功能将其捆绑在一起...
由于存储库必须有一个具体的对象来填充它从数据库获得的信息,并且唯一的 Container 知道哪个具体类映射到特定接口,我认为存储库必须具有引用容器,以便它可以调用“Resolve()”,获取一个新实例并完成他的工作,但这显然是一个错误。
谁能告诉我为什么以及哪种方法会更好?
PS:我不知道这是否相关,但我正在使用 DDD...
【问题讨论】:
标签: inversion-of-control mef ioc-container