DAO命名约定

时间:2013-04-08 16:09:39

标签: java naming-conventions dao organization

我正在开发一个需要与数据库建立连接的应用。要通过此连接进行操作,我正在使用DAO模式。我的问题与代码的组织以及接口和实现的名称有关。当前的包结构是下一个:

  
      
  • mainpackage
  •   
  • mainpackage.model - >每个表的模型,用于创建具有从DB
  • 获取的数据的对象   
  • mainpackage.persistence - >的ConnectionManager
  •   
  • mainpackage.persistence.dao - >接口和实现
  •   

关于接口的命名我认为使用ClassDAO和DefaultClassDAO之类的东西是一个好主意,因为我不知道如何命名它。你怎么看?这有什么约定吗?

1 个答案:

答案 0 :(得分:2)

我会使用“域驱动设计”中描述的约定。

  • mainpackage
  • mainpackage.model - >包含'repositories'作为接口,如UserRepository,ProfileRepository,描述管理存储中实体的操作(存储,查找等)。这样就不会泄漏您的存储是数据库。
  • mainpackage.model.db(或sql或者其他) - >包含SqlUserRepository,SqlProfileRepository实现mainpackage.model中的接口并命中数据库。

您甚至可以将DB类放在不同的子项目中。我认为不要将数据库置于设计的中心并将其视为实现细节非常重要。