【あくてぃぶれこーどぱたーん】
アクティブレコードパターン とは?
💡 データベースの行がそのまま自分で保存も削除もこなすオブジェクト
📌 このページのポイント
アクティブレコードって何がアクティブなの?
すごく便利そうだね!
直感的でコードが短くなるのが魅力だよ。Ruby on RailsのActiveRecordが有名で、user = User.find(1) でDBから取得して、user.name = 'Taro' としてuser.save()するだけで更新できるんだ
デメリットはあるの?
オブジェクトがデータとロジックとDB操作を全部持つから、大きくなると責任過多になりやすい。テストでもDBが必要になりがちで、単体テストが書きにくくなることもあるよ
じゃあ大規模な開発には向かないのかな?
規模が大きくなるとリポジトリパターンに移行するチームも多いね。ただRailsは設定より規約の思想でアクティブレコードをうまく活用してるし、小〜中規模なら生産性が高い。適材適所で使い分けるのが大事だよ
📖 おまけ:英語の意味
「Active Record Pattern」 = 能動的な記録パターン
💬 Martin Fowlerの『Patterns of Enterprise Application Architecture』で定義されたパターンだよ