1

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

我有 Java 背景,这可能会影响我对您的 .Netish 答案的理解。:)

4

3 回答 3

1

当谈到这个级别的项目结构和设计(大型编程)时,.NET 和 Java 之间没有太多区别。

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

于 2010-02-03T08:20:28.597 回答
1

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

例如,如果我有一个管理字母持久性的 letterDAO,那么我倾向于将它与字母业务逻辑和字母实体放在同一个程序集中,例如 [company].[project].Letters 等命名空间。这样所有字母功能都在一个地方,我可以更轻松地配置或替换它。

如果我有一个 applicationDAO,那么它是相同的,但在 [company].[project].Applications 等下。

于 2010-02-03T08:59:05.827 回答
1

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

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

PG.CustomerCare.BO <-- 业务对象 <-- 这可能会替换服务。

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

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

PG.CustomerCare.Client.Winforms <-- 同上,只与服务层交互。

于 2010-02-03T09:03:54.803 回答