解决方案项目

时间:2011-04-15 21:32:20

标签: c# .net design-patterns

我想知道如何将大规模应用划分为项目。 我需要创建:
1.数据访问层的一个项目 2.业务逻辑层的一个项目 3.一个用于Web应用程序的项目 ?

我应该将数据访问层和业务登录层放在一起吗?

此外,数据访问层是否应该依赖于业务登录层?

Web应用程序应该直接依赖于数据访问层吗? (确实应该使用来自数据访问层的方法来处理使用业务登录层中的对象的工作)?

现在我有两个项目:
1.网络应用。
2.所有代码包括数据访问和业务对象。

3 个答案:

答案 0 :(得分:5)

在这里下载Microsoft应用程序架构指南,第2版,我现在正在阅读它,它对这个主题非常有帮助:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ce40e4e1-9838-4c89-a197-a373b2a60df2

答案 1 :(得分:4)

我通常会将我的项目分开:


- >演示文稿层 - >业务层次 - >数据层

然后我将演示文稿添加到业务和业务到数据。我从不让我的演示文稿直接与Data交互。通常,我还会在我的业务层中使用服务,如果需要,可以将其部署到单独的位置。

答案 2 :(得分:1)

这取决于“非常大的项目”的含义。

我们正在编写一个MVC应用程序,我们已将其拆分为多个程序集...一个用于我们访问的每个数据库。但它不仅仅是DAL,它还有一些特殊的逻辑。这个程序集也有一些共同的功能。

然后我们有一个共同的网络项目。

然后我们为使用这些数据的3个站点中的每个站点都有一个Web项目,它们都依赖于公共项目。

如果将其拆分为至少3个装配体,维护和开发可能会更容易。这就是原因。

  1. 它迫使你分离关注点,需要从数据中获取一些东西吗?把它放在数据组件中。需要修改一些javascript吗?把它放在演示文稿中。
  2. 它允许专业化。你可以得到一个专业的后端开发人员,或者一个javascript专家,他们可以在不影响其他任何人的情况下处理他们的程序集。
  3. 如果前端的某些内容发生变化,并且您想要转到新的前端,那么DAL和业务层很可能不需要那么多更改。