アクティブレコード
データの取得、保存、ドメインロジックを合わせてカプセル化するアーキテクチャパターン
Active-Recordパターンは、Enterprise Application Patternsの一種で、一つのデータベースのテーブルと一つのクラスを対応付け、またそのクラスのインスタンスを(クラスに対応する)テーブルの一つのレコードに紐付ける、というパターン
MVCにおけるMでよくあるのが
Active-Recordを自前実装する方法
ActiveRecordを実現するライブラリを使用する方法
Repositoryパターンを利用する方法
アクティブレコードパターンを自前実装すると、多くの動的コードを記述する必要があるのでメンテまで考えると難しい
メリット
DBテーブルとクラスが直接対応しているからシンプルで分かりやすい
デメリット
モデルが肥大化してキツくなってくる
複数クラスが関わる複雑なドメインロジックの記述がやりづらく下手するとカオスになる