【发布时间】:2008-08-23 21:40:10
【问题描述】:
我见过两种实现 DAO-DVO 设计的方法。
1) DVO 是对象,DAO 是使用工厂实例化的,即 DAO 也是对象 2) DVO 还是对象,但在这种情况下,DAO 是只包含接受 DVO 执行任务的静态方法的类。
我想知道哪种方式更好且更具可扩展性。
【问题讨论】:
标签: java jakarta-ee dao
我见过两种实现 DAO-DVO 设计的方法。
1) DVO 是对象,DAO 是使用工厂实例化的,即 DAO 也是对象 2) DVO 还是对象,但在这种情况下,DAO 是只包含接受 DVO 执行任务的静态方法的类。
我想知道哪种方式更好且更具可扩展性。
【问题讨论】:
标签: java jakarta-ee dao
试试 Spring 框架。 DAO 是通过依赖注入初始化的,只是普通的 'ole Java 对象。
那么,DAO 上的方法应该只使用应用程序所有层使用的域对象。
【讨论】:
关于可测试性,我建议不要使用第二种方法。静态方法可以防止您通过使用模拟等覆盖协作者来调整类的行为。正如 Miško Hevery 所说:“Static Methods are Death to Testability”。
【讨论】:
我强烈建议不要使用那么多层,除非它们真的是物理分层的。例如,如果您有像富客户端这样的东西,您需要发送分离的对象来更新 GUI,否则,这是一个痛苦的世界。
【讨论】:
如何下载 DAO Factory 来创建数据库连接?
【讨论】: