这几天正在重写我的 Datamappify gem —— 目前还在 Proof of Concept 阶段。
凌晨 4 点半,终于把 Repository 这块给重写了下,支持 entity attribute <-> ActiveRecord class + attribute mapping 了。:)
设计理念主要是希望能够尽量依靠 ActiveRecord,但把数据存储这块给从业务逻辑里提炼出来。
对这方面有研究的同学请来踩一踩,提些建议吧——
我把代码整个读了一遍,有一个直觉,这到底需要多么复杂的业务逻辑才能考虑使用这个范式。在我看来,应该在中间件这一块,是个好工具。功能已经定稿,现在就需要找个应用场景使用一番才可以反馈到之前的设计。
嗯,现在还在摸索阶段。
主要是接下来我们启动的一个项目架构巨大,所以按照“常规的”ActiveRecord 用法,可能到时候会遇到模型上的瓶颈。
如果 Datamapper 2 已经发布了的话,我会尝试使用,但 Datamapper 2 还比较遥远,所以尝试沿用 ActiveRecord。
花了两天时间将 repository 部分完全重写了,这下可以支持 ActiveRecord 以外的任何 ORM 了——
https://github.com/fredwu/datamappify/commit/b5e96a21c63d24adcb0aa58813cd87fb2796815e
又更新了!
Datamappify 现在支持同一个 Entity
中用不同的 ORM(比如 ActiveRecord 和 Sequel)来 map attributes 了!:)