用 Java 编程时,是否总是需要根据 DAO 架构进行编码?如果可以,使用它有什么好处?
我正在做一个具有如下类图的项目。这有什么缺点?
实体类:
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/