DAO应该在哪里进入项目结构?

时间:2010-02-03 08:15:49

标签: .net dao project-structure

我正在VB.Net中开展一个项目,需要实现DAL。我不太确定我的项目在哪里是坚持DAO的最佳位置。我是否应该将DAO与将要使用它们的业务对象放在同一名称空间中。或者我应该将所有DAO整合在一起。

我有一个Java背景,可能会污染我对你的.Netish答案的理解。 :)

3 个答案:

答案 0 :(得分:1)

在这个级别的项目结构和设计(大型编程)中,.NET和Java之间没有太多差异。

创建DAO时,我倾向于将它们作为实体保存在自己的命名空间/程序集/项目中。如果它们只是DTO没有逻辑,那么情况尤其如此。

答案 1 :(得分:1)

我认为这取决于您的设计规模。如果我采用模块化设计方法,我倾向于将DAO放在与相应业务逻辑相同的程序集中。

例如,如果我有一个管理字母持久性的letterDA,那么我倾向于将它放在与字母业务逻辑和字母实体相同的程序集中,如[company]。[project] .Letters。因此,所有字母功能都在一个地方,我可以更容易地配置或替换它。

如果我有一个applicationDA,那么它是相同的,但在[公司]。[项目]。应用程序等。

答案 2 :(得分:1)

我总是尽力保持整洁。 您应该尝试并保持某种模块化设计,即使它是一个小项目。我经常烧手指。

实施例: PG.CustomerCare.DAL< - 数据访问层

PG.CustomerCare.BO< - Business Objects< - 这可能会取代服务。

PG.CustomerCare.Services< - 抽象业务逻辑的服务,这将引用DAL

PG.CustomerCare.Client.Web< - 仅与服务层交互

PG.CustomerCare.Client.Winforms< - 此处相同,仅与服务层交互。