すべてのアーキテクチャ・設計手法は「関心の分離」を実現するための手段
いろんなアーキテクチャや設計手法があるけど、すべては「関心の分離」を実現するための手段だと思う。
+-------------+
| 泥団子・カオス |
+-------------+
↓ 表示ロジック、ビジネスロジックで「分離」する
+------------------+
| 3Tierアーキテクチャ |
+------------------+
↓ ビジネスロジックから永続化部分を「分離」する
+------------------+
| Repositoryパターン |
+------------------+
↓ ビジネスロジックが肥大化するのでイベントとオブジェクトに「分離」する
+---------------------+
| Usecase層 / Domain層 |
+---------------------+
↓ Domain層に含まれるオブジェクトを概念・用途ごとに「分離」する
+----------------------+
| Entity / ValueObject |
+----------------------+