【发布时间】:2011-06-29 22:25:39
【问题描述】:
所以,我有 Ruby on Rails 应用程序。暂时空白。让我从一开始就说,我的大部分经验都来自 Java,所以我可能不会像 RoR 开发人员那样思考。 :-)
我需要做的是创建一些数据访问层,说它将是访问用户,所以让它成为 UserDAO.rb 基本上会使用 ActiveRecord 或直接访问数据库或访问或一些键值存储或 em> 其他我能想到的。
从技术上讲,由于我们在 Ruby 中没有接口,我可以让 UserDAO.rb “拥有”实现(基本上,我说的是组合),这可能是我们需要的任何东西,比如 UserDAOActiveRecord.rb 或 UserDAOMongo .rb 或其他类似的东西。 UserDAO.rb 基本上会调用实现的方法,仅此而已。应该很容易在实现之间切换。
虽然这听起来像是一个可能的解决方案,但我期待听到在 Ruby 世界中解决这个问题的最佳实践是什么。谢谢!
【问题讨论】:
-
ActiveRecord 为您抽象了数据库层。从 PostgreSQL 到 MySQL 到 MongoDB 的切换发生在您的应用程序之下。
标签: ruby-on-rails ruby ruby-on-rails-3 dao