我正在启动一个新的数据库应用程序,我想知道在对象(使用UML)启动设计并相应地构建数据库模式,或者从数据库的设计(使用ER)开始并创建对象是否更好因此.
这两种方法的优点和缺点是什么?
(我认为这不重要,但以防万一:我打算使用Java和Hibernate)
取决于您的应用程序是否旨在满足用户需求,或满足开发人员的需求.
从用户故事开始,直接获得OOP课程.而且您的用户会爱你.
否则,您最终会得到一个将用户转变为数据录入员的应用程序.(你会有很多公司.)
从数据库开始的优点是,您将考虑性能和DBA.
从OOP开始的优点是你将拥有更纯粹的OO设计,但你的ORM可能表现不佳.
我发现黑盒ORM太限制,所以我的系统都是手工编码或生成和修改的代码,因此我的数据库通常很紧,我的OO模型是纯粹的.我坚信聪明的人是阻抗不匹配的解决方案.