我正在VB.Net中开展一个项目,需要实现DAL。我不太确定我的项目在哪里是坚持DAO的最佳位置。我是否应该将DAO与将要使用它们的业务对象放在同一名称空间中。或者我应该将所有DAO整合在一起。
我有一个Java背景,可能会污染我对你的.Netish答案的理解。 :)
答案 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< - 此处相同,仅与服务层交互。