繁体   English   中英

另存为对象还是数据库中的一行?

[英]Save as object or just a row in database?

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM