gpt4 book ai didi

Java向类添加静态方法

转载 作者:行者123 更新时间:2023-12-04 04:56:34 24 4
gpt4 key购买 nike

好的,伙计们,

这是一个更多的原则问题而不是事实问题。

我有一个在客户端和服务器上都使用的数据结构。

但是,在服务器端,我想要从某种数据存储(目前 SQL,它曾经是序列化数据,但没关系)创建客户端的功能。

最初我有一个名为“Datastore”的巨大类,它具有用于检索任何存储对象的静态方法。

虽然并不可怕,但这不完全是面向对象的,并且它不是完全可扩展的。

所以我考虑将这些静态方法移动到数据结构本身。但是,这意味着共享客户端库然后知道如何从我的数据存储中检索对象 - 这有点愚蠢。

因此,我现在正在为新数据存储包中的每个对象创建新类,每个类都包含用于从数据存储中检索一个对象的静态方法。

我的问题是,我如何表示这些数据管理器类与它们检索的对象之间的关系?

从功能上讲,这无关紧要。静态方法工作正常。但我想向 future 的我和其他 future 的开发人员表明,数据检索器类和对象类是紧密相连的。

我的第一个想法是让数据检索器扩展数据结构。但是,这将需要声明默认构造函数并暗示该类可以被实例化 - 它可以,但为什么要呢?

我的第二个想法是让数据检索器扩展数据结构,但要抽象。这将标志着与其他开发人员的紧密关系,并明确表示只添加了新方法,没有新字段。

然而,用抽象类扩展一个具体类似乎很奇怪,Java 仍然让我创建默认构造函数。

最佳答案

My question is, how do I signify the relationship between these data manager classes and the objects that they retrieve?



这是一个标准的行业问题:如何将数据从数据库获取到应用程序中。常见的解决方案是使用 DAO 模式,即让数据访问对象 (DAO) 负责从数据库中检索对象。

如果您要检索员工的个人信息、薪水等,您可以使用 EmployeeDAO 类从适当的表中检索它。如果您要检索公司的利润、位置、员 worker 数,您可以使用 CompanyDAO 类从数据库中检索此对象。

在此之上可能是一个服务层,用于执行业务逻辑;还有一个 DAO 管理器,用于实例化 DAO 并返回对任何需要它们的类的引用。

关于Java向类添加静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16681893/

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