本页使用了标题或全文手工转换

Active Record

维基百科,自由的百科全书
跳转至: 导航搜索

Active Record是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。Active Record和Row Gateway十分相似,但前者是领域模型,后者是一种数据源模式关系型数据库往往通过外键来表述实体关系,Active Record在数据源层面上也将这种关系映射为对象的关联和聚集。在Martin Fowler2003年出版的《企业应用架构模式》一书中详细叙述并命名了本模式。[1]

Active Record适合非常简单的领域需求,尤其在领域模型和数据库模型十分相似的情况下。如果遇到更加复杂的领域模型结构(例如用到继承、策略的领域模型),往往需要使用分离数据源的领域模型,结合Data Mapper数据映射器)使用。

Active Record驱动框架一般兼有ORM框架的功能,但Active Record不是简单的ORM,正如和Row Gateway的区别。著名的例子是全栈Full Stack)Web开发框架Ruby on Rails,其默认使用一个纯Ruby写成的Active Record框架来驱动MVC中的模型层。

著名的 Active Record 驱动框架[编辑]

  1. SQLObject (Python)
  2. Ruby on Rails ActiveRecord (Ruby)
  3. Yii Framework ActiveRecord (PHP)
  4. Castle ActiveRecord (.NET)

资料来源[编辑]

  1. ^ Fowler, Martin. Patterns of enterprise application architecture. Addison-Wesley. 2003. ISBN 978-0-321-12742-6. 

外部链接[编辑]