Open takemotomizuki opened 2 years ago
黄色のレイヤーの Enterprise Business Rules はビジネスロジックを表現するオブジェクトが所属するレイヤーです。 トランザクションスクリプトやドメイン駆動設計でいうところのエンティティなどはここに所属します。 このレイヤーは最も大事なものです。
赤いレイヤーは Application Business Rules です。 このレイヤーは「ソフトウェアが何ができるのか」を表現します。 Enterprise Business Rules に所属するオブジェクトを協調させ、ユースケースを達成します。 ドメイン駆動設計でいうところのアプリケーションサービスなんかはここの住人です。
緑色のレイヤーは Interface Adapters で入力、永続化、表示を担当するオブジェクトが所属します。 入力とは Application Business Rules に伝えるためのデータ加工を指します。 永続化とはデータの保存を指します。 表示は結果の表示です。
一般的な MVC フレームワークや単体テストクラスなどはこのレイヤーに所属されます。
Web フレームワークやデータベース操作オブジェクトなどのギークなコードがここに収まります。 フロントエンドの UI などもここに所属しています。
正直クリーンアーキテクチャしか知らない オニオンアーキテクチャも少しやってるけど似たようなもんと思ってる。
クリーンアーキテクチャ
Enterprise Business Rules
黄色のレイヤーの Enterprise Business Rules はビジネスロジックを表現するオブジェクトが所属するレイヤーです。 トランザクションスクリプトやドメイン駆動設計でいうところのエンティティなどはここに所属します。 このレイヤーは最も大事なものです。
Application Business Rules
赤いレイヤーは Application Business Rules です。 このレイヤーは「ソフトウェアが何ができるのか」を表現します。 Enterprise Business Rules に所属するオブジェクトを協調させ、ユースケースを達成します。 ドメイン駆動設計でいうところのアプリケーションサービスなんかはここの住人です。
Interface Adapters
緑色のレイヤーは Interface Adapters で入力、永続化、表示を担当するオブジェクトが所属します。 入力とは Application Business Rules に伝えるためのデータ加工を指します。 永続化とはデータの保存を指します。 表示は結果の表示です。
一般的な MVC フレームワークや単体テストクラスなどはこのレイヤーに所属されます。
Frameworks & Drivers
Web フレームワークやデータベース操作オブジェクトなどのギークなコードがここに収まります。 フロントエンドの UI などもここに所属しています。