|
|
1
15
我同意你的做法。我的dao倾向于更多地在对象级别对齐,而不是从DB表的角度对齐。我可以通过一个DAO管理多个对象,但它们很可能是密切相关的。没有理由不让SQL访问一个DAO中的两个表。
|
|
|
2
5
理想情况下,如何将数据存储在数据库中,然后如何访问它们,应该从域模型中域实体之间的关系的性质派生出来。也就是说,关系模型应该遵循域模型。例如,如果您有两个实体,例如User和Address。 情景1 :地址从不单独访问,它们始终是用户的属性。 在本例中,Address是一个值对象,User是一个实体,并且有关于如何存储此关系的指南。一种方法是将Address的Address属性和User的属性一起存储在一个表中。在这种情况下,UserDao将处理这两个对象。 情景2 :地址可以与用户相关联,也可以独立于实体。
例如,如果您的域模型被正确定义,并且您清楚地知道您拥有的实体的类型以及它们之间的关系,那么您的持久性(关系表及其关系、dao等)将作为您在域模型中拥有的东西的非常合乎逻辑的结果而发展。 换句话说,如果您花一些时间研究您的模型,您将能够跟踪您的问题,以确定如何将dao组织到域模型中的某个位置。如果您能在域模型中清楚地定义对象的类型和它们之间关系的性质,它将帮助您解决DAL层中的问题。 |