我怎么看概念感觉这两个都很相似啊,都是把数据库里面的数据转换成对象方便操作。请问他们具体区别在哪?
ActiveRecord 就是一种 ORM 啊,ORM 是抽象概念(Object Relational Mapping),而 ActiveRecord 是 Ruby 语言所写的一种实现。
勉强回答一下这个问题:
Martin Fowler在他的书中对此做了一定的区分,可以这么判定:
把模型写成了继承了一个基类的(比如叫做Record,Model之类的名称)的方式都可以称作ActiveRecord(虽然这个名称是Rails带来的);
而ORM则是ActiveRecord的一个父集,即ORM包括了ActiveRecord这种设计。
上面的回答都比较片面了.
其实orm AR Datamapper 这些概念 都跟具体语言无关.
orm 的概念就是 屏蔽 具体的数据库操作, 开发只需要关心业务数据需求即可,从而产生的一种概念模型,也是依赖注入,DI等控制概念引入集成的一个对象(数据vs对象)操作集.
orm 的其中一种实现 叫ActiveRecord,另一种是DataMapper.
ActiveRecord 与 DataMapper的区别请自行了解了
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
2 回答2k 阅读
2 回答1.9k 阅读
ActiveRecord 是一种模式,Rails 只是一种实现,Java 中你可以参考ObjectiveSQL