Slide 14
Slide 14 text
リポジトリ
class User
attr_reader :id, :name, :email
def initialize(name, email)
# ...
end
# ドメインロジック
def signup
# ...
end
end
class UserRepository
# 永続化層へのインターフェース
def save(user)
# ...
end
end
# ドメインオブジェクトの永続化はリポジトリ経由で行う
userRepository.save(user)
● ドメインオブジェクトに対し、永続
化層(データベース等)へのアク
セスを提供するもの
● ドメインオブジェクトと永続化層
が疎結合になる
● Active Recordの場合、モデル
は永続化層(データベースの
テーブル)をそのままラップした
ものになる