単純なルールに基づいた設計のため、サービスが様々な ビジネスロジックを抱えてしまいがち • データと振る舞いを分けた設計(データをデータクラス、 振る舞いをサービスに持たせる)が構造的に複雑化しや すく、重複コード(部分的重複も)も生まれやすい Service bizFunc1() bizFunc2() Data Model Data Model Data Model bizFunc3()
(Single Responsibility):単一責任の原則 • O (Open-Closed):オープン・クローズドの原則 • L (Liskov Substitution):リスコフの置換原則 • I (Interface Segregation):インターフェイス分離の原則 • D (Dependency Inversion):依存性逆転の原則