2011-06-22 108 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