java - DAO架构的必要性是什么

标签 java asp.net design-patterns dao

  1. 用 Java 编程时,是否总是需要根据 DAO 架构进行编码?如果可以,使用它有什么好处?

  2. 我正在做一个具有如下类图的项目。这有什么缺点?

alt text

实体类:

private void fillSONumber() {
    try {
        ZnAlSalesOrder o = new ZnAlSalesOrder();
        ArrayList a = o.getPendingSalesOrderIDs();
        for (int i = 0; i < a.size(); i++) {
            cmbSoNo.addItem(a.get(i));
        }
        o.close();
    } catch (Terminated ex) {

    }
}

EntityTable 类示例:

public ResultSet select(String fields, String selection) {
    db = new Database();
    db.select("SELECT " + fields + " FROM " + name + " WHERE " + selection);
    return rs = db.rs;
}

数据库类负责连接的建立和销毁。

最佳答案

When programming in Java is it always necessary to code according to the DAO architecture? If so what are advantages of using it?

DAO 是一种常见的最佳实践,过去行之有效,而且很干净。优点是当一个新的开发人员开始这个项目时,他很可能已经熟悉这个设计了。使用任何模式最重要的事情是保持它解耦。这非常重要,因为稍后您应该能够用其他实现替换 DAO 而不会影响其余代码。

I'm doing a project which has a class diagram like below. what are the disadvantages of this?

对我来说这是有道理的。我的问题是,你是唯一使用它的人吗?如果是这样,那么您是否需要所有这些接口(interface)?如果您将实现传递给其他人,那么接口(interface)很重要。就像一个 API。稍后它可能会更改为另一个子类。但是,如果您可以完全控制自己的设计,我认为您不应该无缘无故地创建臃肿的界面。

最后,除了 o.close(); 之外,您的代码看起来不错 为什么客户端需要调用关闭?每个 DAO 函数都应该足够智能以打开和关闭连接。数据库对您的 bean 应该是透明的。我认为不需要关闭。

关于java - DAO架构的必要性是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106805/

相关文章:

java - 方法输入参数可空性组合的测试

java - Spring ReactiveCrudRepository ExistsQuery 方法返回 null

c# - 路由问题(.NET 而不是 MVC)

c# - 我的网站是否已关闭、无法正常工作或出现错误?

java - 不同类型输入消息的设计模式

asp.net-mvc - Entity Framework POCO+推荐模式

java - Android Gradle 应用程序 :DexDebug error Parse. com

无效方法的Java单元测试

java - 如何在android中的opengl中实现撤销功能

c# - 有类似 "RewriteToAction"的东西吗?