代码之家  ›  专栏  ›  技术社区  ›  Owen Ryan Doherty

从ActiveRecord重构到DataMapper

  •  4
  • Owen Ryan Doherty  · 技术社区  · 16 年前

    是否从 ActiveRecord 到A DataMapper 模式?什么情况促使转换?我主要对基于Web的应用程序感兴趣,但是我想知道在任何环境中这种移动都会带来哪些挑战。

    3 回复  |  直到 11 年前
        1
  •  7
  •   Mike    16 年前

    我真的很喜欢ActiveRecord模式,因为它很简单。不过,我一直在为更大的网络应用而放弃它。我发现,随着基于ActiveRecord的项目变得更加复杂,ActiveRecord对象变得很大,并且包含了太多的代码。

    通过引入存储库模式(本质上是数据映射器),域模型类变得更简单,数据映射/数据访问逻辑保持独立。

    而且,这很困难(不可能?)模拟ActiveRecord对象,因为它们使用静态方法。

        2
  •  1
  •   Noah Goodrich    15 年前

    我使用一个框架,它将表数据网关和行数据网关提供为易于使用的内置类,因为我只需要指定主键(如果不只是'id')和表名(如果与类名不同)。然而,我最近在重构过程中发现,当域和数据库之间必须发生更复杂的映射时,这些模式开始退化。

    例如,我目前正在将一个网站的代码重构为使用数据映射器,以便使用单表继承(使用继承映射)。基本上,当数据库和域之间的关系变得比一对一复杂时,我会强烈考虑使用数据映射器。

        3
  •  0
  •   Imran    14 年前

    我编写了一个集成的构建系统,它位于PDE构建之上,使用 camping . 我最初使用的是ActiveRecord,但我需要对数据库进行非阻塞线程安全访问,所以我改用了数据映射器。

    我有相当一部分的悲伤来自虫子,但最新的版本似乎相当稳定。