分享 Datamappify - ActiveRecord 业务逻辑与数据存储的分离

fredwu · 2013年03月16日 · 最后由 simlegate 回复于 2013年06月11日 · 4639 次阅读

这几天正在重写我的 Datamappify gem —— 目前还在 Proof of Concept 阶段。

凌晨 4 点半,终于把 Repository 这块给重写了下,支持 entity attribute <-> ActiveRecord class + attribute mapping 了。:)

设计理念主要是希望能够尽量依靠 ActiveRecord,但把数据存储这块给从业务逻辑里提炼出来。

对这方面有研究的同学请来踩一踩,提些建议吧——

https://github.com/fredwu/datamappify

不明觉历,顶一下!

我把代码整个读了一遍,有一个直觉,这到底需要多么复杂的业务逻辑才能考虑使用这个范式。在我看来,应该在中间件这一块,是个好工具。功能已经定稿,现在就需要找个应用场景使用一番才可以反馈到之前的设计。

这个是 datamapper 么?来自 Domain Driven 的概念?

第一段在 ActiveRecord 里用 fields 的意义是什么呢?会自动修改 schema?

#3 楼 @xds2000 同意你的观点,希望楼主多讲一讲你们的应用场景。

@chenge datamapper 可以和 ActiveRecord 在一起比较。和楼主的库没可比性。

@nouse 没明白你说的意思。你所指的第一段在那里? 楼主在实现这个的时候并不一定需要有应用场景的,在 README 中说了:This library is current in Proof-of-Concept stage, do NOT use it for anything other than experimentation.

嗯,现在还在摸索阶段。

主要是接下来我们启动的一个项目架构巨大,所以按照“常规的”ActiveRecord 用法,可能到时候会遇到模型上的瓶颈。

如果 Datamapper 2 已经发布了的话,我会尝试使用,但 Datamapper 2 还比较遥远,所以尝试沿用 ActiveRecord。

PEAA 那些东西,一不看就忘了

#7 楼 @fredwu 模型上的瓶颈指的是什么

花了两天时间将 repository 部分完全重写了,这下可以支持 ActiveRecord 以外的任何 ORM 了——

https://github.com/fredwu/datamappify/commit/b5e96a21c63d24adcb0aa58813cd87fb2796815e

#9 楼 @iBachue 和存储的逻辑混淆一起后,测试不方便,代码结构也相对复杂。

又更新了!

Datamappify 现在支持同一个 Entity 中用不同的 ORM(比如 ActiveRecord 和 Sequel)来 map attributes 了!:)

https://github.com/fredwu/datamappify

supported mongoid?

每一个 model 都要对应的 repositry,还要写 mapping,工作量不小啊。

最新增添了 lazy loading!https://github.com/fredwu/datamappify :D

可以写个简单的 demo 啊

需要 登录 后方可回复, 如果你还没有账号请 注册新账号