gpt4 book ai didi

java - NoSQL DAO 实现

转载 作者:行者123 更新时间:2023-11-30 11:00:45 25 4
gpt4 key购买 nike

我已经得出结论,使用 DAO 设计最适合我想要实现的目标,但我之前从未尝试过,所以我遇到了一些麻烦。我已经阅读了文档和示例,所以我知道目标是什么,但我很难弄清楚我需要在我的 DAO 接口(interface)中包含什么。

例如,我有一个 Model 对象,它具有:

public String name;
public double baseline;
public List<Group> groups;
public List<Indicator> indicators;

虽然我不确切地知道如何为此创建 DAO 接口(interface)?我是否只是将我认为需要的每个方法都放在那里,因为我知道 DAOImpl 类将对 NoSQL 数据库进行实际查询。

这是它现在的位置:

public interface ModelDAO {

List<Model> getAllModels();

List<Model> getModelByName(String Name);

void updateModel(Model model);

void deleteModel(Model model);
}

但是例如,如果我想更新模型的名称,或者从组列表中添加/删除组怎么办?我会在这个 DAO 类中处理这些事情吗?或者我会在各自的 DAO 类中解决这些问题。

抱歉,如果我的理解还不完全,我仍在努力学习这些东西。

最佳答案

您可以根据需要以任何一种方式实现。重要的是要确保对象对您希望它们成为的样子负责。接口(interface)充当 DAO 和其他对象之间的连接器,因此您需要确保另一个对象需要做的任何事情都可以使用接口(interface)中的方法完成。但是,如果您将每个访问器和修改器都放在接口(interface)中,那么使用它就没有意义了,您可以将函数全部公开(换句话说,如果您这样做,您根本就没有使用真正的 DAO。 ) 一般来说,如果您有其他对象将通过接口(interface)高度耦合,则不应使用 DAO。如果您决定要坚持使用 DAO 结构,您应该有少量方法来执行您需要的任何更改。例如,如果您需要更改名为“name”的字段,您不会调用“setName()”,而是修改另一个对象中的名称字段,然后通过接口(interface)(或类似的东西)调用“updateFields()”。 ) 希望对您有所帮助,对于文字墙感到抱歉,这是一个复杂的问题。

关于java - NoSQL DAO 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31412892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com