我有一个ASP.NET 应有一个三层结构:

  • 介绍层:ASP.NET

  • 业务层:C#图书馆。

  • 数据存取层:C#库
    ADO.Net 实体框架的对象。

一些方法在业务层将返回ADO.NET 实体对象的,但是,数据访问层是不可见的,在介绍层我不能这样做。

我的问题是:设计上看,这是正确的揭露实体对象的介绍层?我想我只需要链接的数据层的图书馆ASP.NET 应用程序。

谢谢你!

有帮助吗?

解决方案

我建议你看到的概念视的对象...或数据传输对象(也可与检).你可能考虑使用的工具,如AutoMapper或类似这将创造一个视具体领域对象出你的实体。一般的你可能有屏幕,需要一个实体本执行其工作。但是往往不你会需要通过几种不同的实体。在这种情况下你最好建立一个也可与检,其中包含所有这些实体。通过这样做,你是添加一个层之间的隔离你的演讲层和业务层。往往你的实体有更多的权力可能比你想让你的演讲层。和...反之亦然。常常可能需要得到一些UI消息了介绍层根据某种验证标记在业务层。而不是让你的用户界面更加复杂,它需要(通过在你的全部实体)可以只通过在什么UI需要的形式,也可与检.此外,没有需要你的业务对象关心任何具体的介绍层。我建议你不据绑定直接到任何东西可以追溯到数据存取层。技术上你的演讲层应该知道的尽可能少地对你的业务层。在这种情况下的MVP或视,这是非常容易实现通过不断开前端和后端的方式的这种额外的分离!

其他提示

这绝对是希望有你的实体对象的使用和消费在你的演讲层。这就是所有的工作。

  • 结合对象的集合到一个网/列表视图/拉
  • 溅一个单一的对象(即客户)上形成的读/update/delete

这使得你的生活更容易的通过为止。否则你会必须通过串后int后双之后串之间的介绍和业务层。

可以将这些实体的目的或甚至是你自己的POCO的对象是水分离的实体的对象。

我甚至要走这么远来说,你或实体的名单应该在他们自己会独立于达尔。

我想没有,没有,做到这一点的最好办法是单独的数据类行为,仅供参考数据类呈现的水平。好的方法我想到使用WCF看看这个 链接

看看 监督控制器被动观

如果你通过的实体,你基本上是监督控制器。否则你是被动的观。

监督控制器是较少的工作,但是小测试.监控器还说,数据绑定是确定的。被动的观点是测试,但有很多更多的工作。没有数据绑定.很多的属性。

通常我坚持监督控制器。你通常不需要这一水平的可测性和它不是值得额外麻烦。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top