読者です 読者をやめる 読者になる 読者になる

しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

ドメインモデル貧血症を調べてみる

設計について調べていると時々出てくるドメインモデル貧血症について調べてみました。

 

ドメインモデル貧血症の処方箋 - まめログ

ドメインモデル貧血症 - Strategic Choice

こちらの記事が非常に参考になりました。

簡単に言うと中身がスカスカなモデルが大量に発生してしまう症状をドメインモデル貧血症と言うようです。

中身がない事を貧血と表現しているのだと思います。

 

その原因としてよくあるものはデータと振る舞いが別の場所にある事です。

例えばユーザーモデルがあり、firstNameとlastNameがあるとします。

ここでfirstNameとlastNameを結合したfullNameというメソッドを実装する際、ユーザーモデルではなく別モデルにfullNameメソッドを作ってしまう事などが典型と言えます。

エンティティーはデータを持つだけで処理をしないという思いが強くなると発生しそうな事例です。