首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >面向对象设计与数据库设计过程

面向对象设计与数据库设计过程
EN

Stack Overflow用户
提问于 2016-01-10 11:01:17
回答 2查看 492关注 0票数 0

我有点困惑于如何开发一个基于数据库的应用程序。我使用的是java语言和关系数据库。在“库存管理控制”等面向对象的数据库应用程序开发过程中,正确的循环方法是什么?开发数据库模式,然后执行OOD,反之亦然。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-10 11:16:54

由于我假设您将要使用传统的RDBMS,根据我自己的经验,最好首先设计数据库模式:考虑存储信息所需的所有表,考虑它们之间的关系(外键)。

下一步应该是编写应用程序本身。我假设您即将使用Java,并且可以从OOP设计中获益。

在这种情况下,我强烈建议使用ORM技术(如Hibernate )来实现OOP应用程序设计和RDBMS设计之间的关系。虽然这并不是必须的,因为您可以使用简单的JDBC方法。

根据我的经验,开发这种方式比首先设计高级OOP应用程序,然后尝试将DB模式适应到它要花费更少的时间,因为通常处理DB比使用高级OOP抽象要花费更多的时间。

票数 3
EN

Stack Overflow用户

发布于 2016-01-10 13:39:35

可能有许多不同的方法,它们各有优缺点。

如果您遵循ORM方法并使用像Hibernate这样的工具,那么您可以隐藏大量的数据库实现。您将继续执行OOD,而数据库模式将退出该操作。像Hibernate这样的ORM甚至可以为您生成模式(这在测试中非常有用,因为您可以动态地为测试创建内存数据库)。

这种方法的优点是,您可以专注于OOD,并使用“瘦片”,其中数据库模式是随着进度而生成的。这与敏捷方法非常吻合。

ORM方法的缺点是它可能不会导致优化的数据库模式。例如,数据库模式的性能可能不如您更多地关注模式设计那样好。

如果您决定专注于数据库设计,您可以花时间对其进行优化,以满足性能和其他非功能需求(如可伸缩性和审计)。这种方法的缺点是,它可能限制您在代码中执行OOD的方式,并且可能更难以敏捷所偏爱的迭代方式工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34704627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档