首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#和Visual Studio2005中的程序集之间的循环引用(再次...)

问C#和Visual Studio2005中的程序集之间的循环引用(再次...)
EN

Stack Overflow用户
提问于 2009-05-29 06:45:21
回答 1查看 136关注 0票数 0

请先阅读下面的帖子:

Circular reference between Assemblies in C# and Visual Studio 2005

实现接口解决了我的问题,但没有实现我的目标。

我的目标是只使用来自UI层/组件的BO层/组件。这样我就可以维护一个干净的层到层的引用。

因为我不希望在UI-layer/assembly中同时为BO-layer/assembly和ORMapper-layer/assembly添加引用。

我只想在UI层/程序集中使用BO层/程序集。

同时,有人建议我,它只能使用反射,而不是DI。这是真的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-05-29 07:19:46

如果你真的坚持把ORM层的隐藏在BO层的后面,那么依赖注入应该仍然能够帮到你。请注意,您将无法从UI线程中引用DI库,因为那时您的业务对象将来自UI线程。

方法:

创建一个接口,其中包含加载数据以填充此接口的方法。在启动时,在您的ORM项目和

  • 中,使用某种DI容器根据接口注册ORM实现(阅读有关您使用的任何DI库的详细信息,例如: www.ninject.org lightweight)

  • Give

User object一个构造函数,该构造函数采用population接口的一个实例来从加载数据

然后,当您需要一个ORM对象时,您请求DI库创建它,DI库将构造User并为其提供对User实现的引用。您还必须向DI调用中注入一些属性,以使'username‘和'password’能够完全填充值。

注意,这并不是DI发明的目的……应用程序代码实际上应该直接处理ORM来创建/读取/更新/删除业务对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/924693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档