加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

体系结构 – 在ntier应用程序中传递数据

发布时间:2020-12-14 16:37:49 所属栏目:资源 来源:网络整理
导读:如何将数据传递给n层应用程序中的图层?我已经绘制出3种不同的方法. 一个) 通用.net对象通用数据表,Hashtables,通用数据集,字符串,整数等… 然后使用数据集填充发送到UI层的业务对象. alt text http://img11.imageshack.us/img11/460/generic.png http://dab
如何将数据传递给n层应用程序中的图层?我已经绘制出3种不同的方法.

一个)
通用.net对象通用数据表,Hashtables,通用数据集,字符串,整数等…
然后使用数据集填充发送到UI层的业务对象.

alt text http://img11.imageshack.us/img11/460/generic.png

http://dabbleboard.com/draw?b=eiu165&i=26&c=54eef6f1ac01f03c85919518f4a24e798e57e133

Pro-不需要额外的图层
Con-必须使用业务层中的通用数据集和表

B)
使用其他图层将引用的实体图层.该图层将包含强类型数据集或普通旧C对象.对象主要是容器数据和非常少的逻辑.这些将是发送到UI层的相同对象.

alt text http://img8.imageshack.us/img8/6454/entities.png

http://dabbleboard.com/draw?b=eiu165&i=6&c=d0c2b346894a96b12bd3867f630e474a2af098fa

在所有层中使用相同的类
将entities.dll的引用添加到所有层

C)
使用DataAccess层中定义的数据传输对象(仅限conatiner对象).然后使用这些对象来填充发送到UI层的业务对象.

alt text http://img43.imageshack.us/img43/1236/transferp.png

http://dabbleboard.com/draw?b=eiu165&i=27&c=f886efa3f9d5eb4b45ddb02361c79cdcdaec0a9b

亲业务层不必使用泛型类
与两种类型的对象进行协调,您必须使用传输对象来对业务对象进行水合

我们在工作中进行了讨论,并希望了解社区的想法.我还添加了一个指向dabbleboard的链接.请复制和创建而不是编辑.
谢谢

解决方法

如果您正在使用分层方法,意味着所有层(基本上)都在同一个进程空间中执行,因此没有编组/序列化,我会采用方法B.为您的实体创建一个单独的模块,所有方面都是你的程序依赖,并与之相结合.

但是,如果您正在使用分层方法,正如您的标题所暗示的那样,意味着存在跨越的流程和/或网络边界,我建议您使用方法C.您不是真的传递实例,而是’重新传递副本,所以你在耦合到同一个对象时获得的任何好处,比如MVC方法的可观察选项,都会丢失.最好在每个层级定义数据API,而不是尝试使用相同的类.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读