2011-06-22 105 views
2

由于耦合域模型和持久性模型一起滑轨(ActiveRecord的),我一直在寻找on Rails的更“域驱动设计”的方法。逻辑和物理模型

我发现了这本书,Enterprise Rails,该建议分离逻辑模型(域)和物理模型(持久性)。更多这里: http://pt.scribd.com/doc/7905929/Physical-Models-and-Logical-Models-in-Rails

它看起来不错,但我恐怕我会对一些Rails约定。它会破坏什么?这本书已经快3年了,那么在Rails 3中有更好的方法吗?

语境:Rails的3.0,我已经使用模块分离模式的“担忧”。

Tks!

回答

1

我不知道的“逻辑”和“物理”模型分离正试图解决什么问题,说实话。这当然不是传统的导轨。

如果你想为模型的属性VS数据库列(无论何种原因),你可以使用虚拟的属性和before_save过滤器值分配给实际,DB支持的属性)有不同的名称。

+0

逻辑是域模型,它应该是“纯粹”的面向对象和物理是你坚持你的数据/状态。在上面的链接中有关于这个想法的更多信息。 –

+0

我快速查看了你的链接。我可以从纯粹主义的角度看到吸引力,但我不确定实用和实用的好处是什么。 ActiveRecord(以及RoR在某种程度上)的全部意义在于将内存中对象与数据库对象紧密关联。如果您要学习RoR,您可能会发现遵守惯例要容易得多! –

+0

@Frankie我不同意它的真正的Rails是基于ActiveRecord模式,并促进了模型驱动设计“开箱即用”的方面。但是,Rails也是模块化框架,旨在扩展并允许您“放入”替代代码,例如模板引擎,如haml ..... – 2011-07-26 18:10:55