首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在应用程序的层间传输数据

在应用程序的层间传输数据
EN

Stack Overflow用户
提问于 2013-12-08 01:34:54
回答 1查看 932关注 0票数 0

如果我有一个具有5层体系结构的C#应用程序,很像这里介绍的http://msdn.microsoft.com/en-us/library/ee658109.aspx,并且我采用严格的交互方法,允许一个层只与下面的层交互,那么当在数据层中获取数据并将数据传回我的业务层时,我会遇到麻烦。

例如,如果在业务层中定义了一个名为MyObject的业务对象,但是从数据层的数据库中检索构造MyObject类型对象所需的信息,则业务层需要对数据层进行引用,以便与数据库进行交互。但是,我的数据层也需要对业务层的引用,因为这是MyObject定义存在的地方,数据层需要从数据库结果构造该类型的对象,并将数据返回到业务层。现在,我们有了业务层和数据层之间的循环依赖关系。

我想知道解决这个问题的正确方法是什么。

我考虑过使用数据层中定义的DTO对象将信息传递回业务层。这是可行的,因为业务层能够与数据层交互,反之亦然。看起来,这可能是大量重复的代码,基本上模拟了数据层中的业务对象定义。

我还考虑为所有业务对象创建接口,并将这些接口放入业务层和数据层都可以交互的单独项目中。这样,我就可以传递接口的实例,而业务层和数据层之间唯一常见的引用就是定义接口的项目。我也没有看到这方面的很多实现。

我想知道其他人为解决这个问题做了什么。

EN

回答 1

Stack Overflow用户

发布于 2013-12-08 01:54:03

如果需要在数据端构造数据,那么在数据访问层中定义类型。如果对象是在DL中构造的,那么类型就属于这个类型。这使您可以避免循环引用。只需在业务层项目中引用数据项目,您就可以访问该类型。

另一种解决方案是从数据访问层返回原始结果,并从原始结果构造业务层中的对象。

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

https://stackoverflow.com/questions/20448837

复制
相关文章

相似问题

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