我有点困惑于如何开发一个基于数据库的应用程序。我使用的是java语言和关系数据库。在“库存管理控制”等面向对象的数据库应用程序开发过程中,正确的循环方法是什么?开发数据库模式,然后执行OOD,反之亦然。
发布于 2016-01-10 11:16:54
由于我假设您将要使用传统的RDBMS,根据我自己的经验,最好首先设计数据库模式:考虑存储信息所需的所有表,考虑它们之间的关系(外键)。
下一步应该是编写应用程序本身。我假设您即将使用Java,并且可以从OOP设计中获益。
在这种情况下,我强烈建议使用ORM技术(如Hibernate )来实现OOP应用程序设计和RDBMS设计之间的关系。虽然这并不是必须的,因为您可以使用简单的JDBC方法。
根据我的经验,开发这种方式比首先设计高级OOP应用程序,然后尝试将DB模式适应到它要花费更少的时间,因为通常处理DB比使用高级OOP抽象要花费更多的时间。
发布于 2016-01-10 13:39:35
可能有许多不同的方法,它们各有优缺点。
如果您遵循ORM方法并使用像Hibernate这样的工具,那么您可以隐藏大量的数据库实现。您将继续执行OOD,而数据库模式将退出该操作。像Hibernate这样的ORM甚至可以为您生成模式(这在测试中非常有用,因为您可以动态地为测试创建内存数据库)。
这种方法的优点是,您可以专注于OOD,并使用“瘦片”,其中数据库模式是随着进度而生成的。这与敏捷方法非常吻合。
ORM方法的缺点是它可能不会导致优化的数据库模式。例如,数据库模式的性能可能不如您更多地关注模式设计那样好。
如果您决定专注于数据库设计,您可以花时间对其进行优化,以满足性能和其他非功能需求(如可伸缩性和审计)。这种方法的缺点是,它可能限制您在代码中执行OOD的方式,并且可能更难以敏捷所偏爱的迭代方式工作。
https://stackoverflow.com/questions/34704627
复制相似问题