[英]Circular reference between Assemblies in C# and Visual Studio 2005
[英]Circular reference between Assemblies in C# and Visual Studio 2005 (Again…)
请先阅读以下主题:
C#和Visual Studio 2005中的程序集之间的循环引用
实现接口可以解决我的问题,但不能实现我的目标。
我的目标是仅使用UI层/装配体中的BO层/装配体。 这样我就可以维护干净的层到层参考。
因为我不希望在UI层/程序集中为BO层/程序集和ORMapper层/程序集添加引用。
我只想从UI层/程序集中使用BO层/程序集。
同时有人建议我,只有使用反射而不是DI才有可能。 真的吗?
如果您确实坚持将ORM层隐藏在BO层之后,那么依赖注入应该仍然可以为您提供帮助。 请注意,尽管如此,您将无法摆脱从UI线程引用DI库的麻烦,因为那将是您的业务对象从那时开始的地方。
方法:
User
对象的方法的接口 User
对象提供一个构造函数,该构造函数采用填充接口的实例从中加载数据 然后,当您需要User
对象时,要求DI库创建它,然后DI库将构造User
并为它提供对ORM实现的引用。 您还必须在DI调用中注入一些属性,以使“用户名”和“密码”能够完全填充值。
请注意,这并非DI的发明目的。应用程序代码实际上应该直接与ORM交互以创建/读取/更新/删除业务对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.