开发数据和用户模型::工具/最佳实践/方法

时间:2013-02-11 17:53:22

标签: ruby-on-rails model-view-controller database-design model

我发现很难清楚地表达我想要创建的特定模型 - 特别是当项目变得更大时我必须围绕所有事物之间的关系。

您如何组织数据和用户模型?你在纸上画出来吗?也许网上有一个很好的工具?

2 个答案:

答案 0 :(得分:1)

是的,我相信好的旧铅笔和纸是用来做的工具。请记住,最终您的模型将通过对象关系映射器访问数据库,您应该考虑关系。

大多数情况下,首先考虑关系然后找出模型的名称是值得的。考虑以下情况,您需要存储以下内容:

  • 帖子需要存储
  • 评论需要存储
  • 必须存储用户

现在,在你考虑如何命名这些之前,先考虑一下它们之间的关系。我发现,通过这样做,你会直观地选择正确的名字:

帖子属于用户,用户有很多帖子,评论属于帖子,帖子有很多评论,用户有很多评论,评论属于用户。

在这最后一个相当直观的句子中,你拥有你需要的一切:名字和关系。 Rails支持这种直觉,因为它非常惯用。

就规划数据库和模型而言 - 如果你有一个现有的应用程序并需要弄清楚模型的关系,我建议使用名为unified modelling language的UML(railroady)gem,这将自动创建应用程序数据的精美图形概览。

答案 1 :(得分:0)

我发现可视化对于建立数据模型和处理数据流图等是一个巨大的帮助。铅笔和纸从未对我有用,因为我对所有的整洁都很着迷,讨厌做出改变和重做的事情,我也是不希望通过在屏幕上移动小盒子来分散注意力,使它们看起来很漂亮,因为它打破了“创意流”。

由于种种原因,我过去曾使用过GraphViz http://www.graphviz.org/

首先,我为许多公司工作太便宜,无法在任何可能无意中帮助软件开发的软件上花钱。

其次,文本输入不会分散注意力 - 它可以让您专注于内容而不会分心。文本输入也可以通过代码生成,因此它对于(半)自动代码和模式可视化非常有用。

第三,输入文本可以添加到源代码存储库中,并进行注释和更改跟踪。

我最近发现http://graphviz-dev.appspot.com/让它变得更加容易 - 不要忘记点击广告链接。