只是想知道如何从概念,规范,开发等开始一个项目。在开发中,你从数据库设计开始吗?或者也许有你知道的资源,我可以看看。
发布于 2010-11-16 09:06:46
从数据库设计开始实际上是我的一大烦恼。当然,对于某些项目来说,这是很好的。简单的表单重于数据的应用程序,诸如此类。但是对于任何更复杂的东西,任何具有逻辑“域”的东西,都不要从数据库设计开始。从领域建模开始。如果您采用业务逻辑并将其放入代码中,那么定义逻辑流程的业务用户很可能不会从静态SQL或关系数据的角度进行思考。他们根据具体和抽象概念的逻辑交互进行思考。
正如Eric S. Raymond所说,“智能数据结构和愚蠢的代码比反过来工作得更好。”通常,当一个人开始数据库设计时,他会创建一个扁平的“哑巴”数据结构。这并不是说它是一个糟糕的设计,而是因为它没有内置的逻辑。它是平坦无量纲的。所有的智能都需要进入使用它的代码中。
另一方面,富域模型将业务逻辑和概念直接合并到数据结构中。它通过实际的商业智能来增强数据本身,在整个域中携带这种智能。
现在,这并不意味着您在设计域时根本不应该考虑持久性。但是持久性应该与域一起构建,而不是相反。Nilsson建议从领域开始,并在其开发过程中休息一下,思考并致力于持久性。这是因为域模型实际上是核心,但您需要评估持久性方面的任何妥协,以保持您自己的现实。追求真正的持久化,无知可能会让你陷入一些困境。
发布于 2010-11-16 09:01:33
这一切都取决于最初是什么激发了启动项目的动机。它可能会有所不同,从坐下来充实在你脑海中酝酿多年的东西,或者坐下来快速制作一个肮脏的原型来说服自己,你有一个看似简单的天才想法,实际上是一个相当棘手的灌木丛,需要你坐下来充实。
我从不从数据库设计开始,因为这是一个实现细节。我甚至可能不想使用数据库。我从功能设计开始。我想让它做什么?为什么?多么?它与其他方法有何不同?这样做的好处是否足够让你费心去做?你明白了吧。一旦我清楚地知道我在做什么,最重要的是为什么要做,实现设计就会被解决。
发布于 2010-11-16 09:02:30
这是非常普遍的,但第一步始终是找出并记录您希望应用程序做什么。然后,我通常开发和ERD,它定义了完成这些功能所需的表,以及位于这些表前面的类结构。一旦这两个主要部分完成,通常就会非常顺利。
https://stackoverflow.com/questions/4190289
复制相似问题