![]() |
1
2
DAO模式的目的是将试图访问的数据与存储的数据分离开来。 例如,您可以创建一个DAO,指定一些方法,然后针对MySQL实现这些方法。如果您决定需要迁移到MSSQL或Oracle,您只需要更改实现,而不需要更改可以在代码中的许多不同位置使用的接口。
至于您的设计,基本的布局是好的,但我建议不要像您这样使用一般的select方法。基本上,您只是创建了另一个抽象层,在这个抽象层中,如果没有任何额外的好处,可能会出现问题。
最好为需要访问的每种类型的数据编写SQL,并创建一个返回所需数据类型的方法。这减少了耦合,并允许您在需要时更改实现。 |
![]() |
2
4
DAO是一种常见的最佳实践,它在过去是有效的,并且是干净的。优点是当一个新的开发人员开始这个项目时,他很可能已经熟悉了这个设计。使用任何模式最重要的是保持它 解耦的
对我来说这是有道理的。我的问题是,你是唯一使用它的人吗。如果是,那么你需要所有这些接口吗?如果要将实现传递给其他人,接口很重要。就像一个API。以后可能会变成另一个子类。但如果你能完全控制你的设计,我认为你不应该白费力气创建臃肿的接口。
最后,你的代码看起来不错,除了
|
![]() |
3
1
DAOs提供了一种方便的方法来抽象保存数据,因此不需要区分插入和更新。 网关允许您构建专用查询。例如,假设有一个搜索结果,需要对数据进行分页。除了任何条件外,网关方法还可以将起始行和结束行作为参数,并返回仅包含该窗口的记录集。 |
|
4
1
所以在哪里做什么工作是可以预见的,所以任何一个新加入这个项目的人都可以很容易地理解项目的流程。 |