データベース中心の設計になってしまう問題
依存の向きに沿っているため
https://scrapbox.io/files/66bc870f3d3631001c7fa338.png
すべてのものは永続化層上に構築される
本来 ビジネスロジック(振る舞い)を正しく実装できてから、永続化層や Web 層の実装をすべき warning.icon ORM を使うなということではない 理由
通常 ORM によって制御されるエンティティは、永続化層に配置される
https://scrapbox.io/files/66bc8c9c2b22db001d0e8a37.png
従来の レイヤードアーキテクチャ では、「自身と同じ層か、下の層にあるコンポーネントにしかアクセスできない」という制約があるため、ドメイン層のコードはエンティティにアクセスできる ドメイン層の至るところでエンティティにアクセスし、密結合になる
密結合になると、ドメイン層ではエンティティを ビジネスモデル として扱うようになる ドメイン層ではビジネスロジック + 永続化層の関心事を扱うことに
永続化層の関心事
結果として、ドメイン層のコードに影響を与えることなく永続化層のコードを変更するのが難しくなる