2011-07-05 50 views
2

可能重复:
A modern n-layer asp.net web application sample?N层架构ASP.Net

我有一个困难时期试图设计在ASP.Net了坚实的N层架构。我知道基本功能:BLL,DAL和Business Objects等。我无法理解的是应用程序的实际流程以及BLL和DAL中的返回类型应该是什么。

我读过的大多数文章都建议BLL和DAL通过Business Objects进行通信。但是,如果在每次传递期间必须实例化业务对象两次,我不会看到真正的好处。

有没有人有任何好的教程/示例应用程序的任何链接,可以指导我在正确的方向?

感谢

+0

你是在谈论层(物理层)还是层(编程范式)?我问,因为n层与数据访问层或业务逻辑层无关。 –

+0

我正在看ASP.net web表单,并且我对有效编程图层感兴趣。 – robert

+1

这是另一个问题的重复:http://stackoverflow.com/questions/3277257/a-modern-n-layer-asp-net-web-application-sample –

回答

0

首先,你必须明白,层和层是不同的东西,虽然他们经常被混淆。一个图层是一个软件抽象。 DAL中的L表示图层。 BLL中的最后一个L代表图层。

层是某种类型的物理分离。按照最宽松的定义,仅仅把DAL放在一个单独的程序集中被认为是一个Tier,虽然我的定义更窄一些。我认为一个层是一个物理上独立的组件,不需要在同一台计算机上运行(虽然它可能运行在它上面,但并不需要)。

但要回答你的问题。是的,Business Objects通常用于传输数据(也称为数据传输对象或DTO)。我不知道你的意思是不得不实例化对象两次。你可以说得更详细点吗?

0

不知道您是否已经遇到了msdn上的这篇文章。如果不是这样,值得一读,因为他们讨论设计层级,特别是DAL,不同方法的差异,优缺点。我认为他们和你一样使用相同的术语。 Designing Data Tier Components and Passing Data Through Tiers

您可能还会对类似问题here的回答有兴趣。