私は現在、ActiveRecord を ORM として、sqlite をデータベースとして使用する Ruby (Rails ではない) でアプリケーションを構築しています。
私の質問を明確にするためのサンプルコード:
class User < ActiveRecord::Base
has_many :logins, :foreign_key => :user_id
has_many :categories, :foreign_key => :user_id
has_many :news, :foreign_key => :user_id
has_many :settings, :foreign_key => :user_id
class << self
def get_user_by_id(id)
find(id)
end
def insert(username, password)
create(:username => username, :password => password)
end
end
end
コード (関係、モデルなど) は今のところまったく複雑ではありません。ただし、モデルが大きくなり始めると、ビジネス ロジックと永続化ロジックを同じクラスに混在させたくありません。永続化方法 (ファイル、メモリ内、その他のデータベース orm) を変更できるようにしたいと考えています。これに対する確立された方法はありますか?Rails では「細いコントローラ、太いモデル」が一般的であると読みましたが、これを回避する方法を探しています。