java – DAO命名约定

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

  • mainpackage
  • mainpackage.model -> Models of each table to create objects with data fetched from DB
  • mainpackage.persistence -> ConnectionManager
  • mainpackage.persistence.dao -> Interfaces and implementations

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

最佳答案 我会使用“域驱动设计”中描述的约定.

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

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

点赞