/note/tech

ActiveRecord型のORMの問題は、凝集度の観点から説明できる。

ActiveRecord型のORMの問題は、凝集度の観点から説明できる。

ビジネスロジックを持ち、DBアクセスを管理し、さらにテーブルまで定義するというのは明らかに責務過剰なのだ。

@little_hand_s

だからどうするかというと、「ActiveRecord使うな」ではなく、「ビジネスロジックを引き剥がせ」。

DDDのアーキテクチャでは、ビジネスロジックはドメインオブジェクトに、DBアクセスはインフラ層のリポジトリの実装クラスに。ORMはこのリポジトリ実装クラス内に閉じ込めればいいのです。

@little_hand_s

凝集度、凝集度なのじゃよ

@little_hand_s

つまり、ActiveRecordは完全にDAOとして扱えということでこれは支持する。

一方、ActiveRecordの利用に慣れてる人々は受け入れがたいと思うのだ。