2011-04-15 215 views
2

我在想如何将大型应用程序划分为多个项目。 我需要创建:
1.数据访问层的一个项目。
2.业务逻辑层的一个项目。
3.一个Web应用程序项目。
解决方案中的项目

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

另外,数据访问层是否应该取决于企业登录层?

Web应用程序应该直接依赖数据访问层吗? (是否应使用来自业务登录层的对象使用来自数据访问层的方法)?

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

回答

4

我通常把我的项目独立:

解决方案
- >表示层
- >业务层
- >数据层

我再从介绍到企业和企业加入到数据参考。我从来不让我的演示文稿直接与数据交互。通常我还会在我的业务层中使用服务,如果需要,可以将其部署为分隔位置。

+0

@Dustin Laine:如果数据层不依赖于业务层,您的数据层如何返回业务对象? – Naor 2011-04-15 21:39:50

+0

根据您编写代码的方式,您可能需要为模型创建另一个项目以供其他人共享。我不遵循DDD,所以我有MyApplication.Model和MyApplication.Business。 – e36M3 2011-04-15 21:42:43

+0

我的数据层将返回数据,而不是业务对象。例如,一个数据表,业务层将从该数据表变成业务对象或业务对象列表。 – 2011-04-15 21:43:40

1

这取决于你的意思是一个“非常大的项目是什么“。

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

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

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

如果将其分成至少3个组件,它可能会更容易维护和开发。这是为什么。

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