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