【问题标题】:Save as object or just a row in database?保存为对象还是数据库中的一行?
【发布时间】:2020-04-26 09:07:00
【问题描述】:

作为一个实践项目,我正在创建一个卡路里跟踪应用程序。其中一部分需要创建可以保存以供重复使用的单个食品。单个食物项目将包含名称、卡路里计数、份量等。我正在考虑保存这些食物项目的最佳方法,将项目连接到数据库似乎是合理的。具体来说,我使用的是 MySQL。

然后我的问题是,每个食物项目是否应该简单地存储在数据库中的一行中,每个字段(名称、卡路里等)都有一个列,或者我是否应该创建一个带有实例的 foodItem 类每个食物项目。这似乎是多余的,但同时,如果我不创建对象,在我看来这将违反 OOP 原则,并且数据库使用几乎总是会取代类/对象的创建。用户不能在不创建对象的情况下直接写入数据库吗?我在这里想念什么?

【问题讨论】:

  • 您会发现,但由于您想多次使用食物对象,您应该创建一个对象,然后将其保存到数据库中,这样您就可以在需要时将所有食物加载到对象列表中。

标签: java mysql database oop


【解决方案1】:

作为一种设计实践,我喜欢拥有诸如FoodItem 之类的“软件对象”,其中知道如何在底层数据库中“坚持自己”。他们知道如何填充自己,以及如何以及何时更新数据库。 “数据库表示”的所有细节都尽可能隐藏在对象的实现中。

您在数据库中表示数据的实际方式也很大程度上取决于您的报告要求。考虑一下您可能需要使用单独的工具从这些数据中生成的汇总统计数据、目录和其他内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    相关资源
    最近更新 更多