Clean Architecture 読書メモ1(用語のまとめ)

2020年2月26日

クリーンアーキテクチャにおけるビジネスルールの種類

 クリーンアーキテクチャでは業務を以下の2種類に分けて考える。

  • Critical Business Rules
  • システムが対象とするビジネスにおいてコアとなるビジネスルール。このルールは業務がシステム化されている、されていないに関わらず必ず必要となるものである。

  • Application-specific Business Rules
  • 対象業務をシステム化した際に必要となるビジネスルール

クリーンアーキテクチャを構成するレイヤ

 書籍内では以下の4つのレイアが挙げられているが、レイヤ数は必ず4つである必要はない。しかし、外側のレイアから内側のレイヤのみに依存性を持つというルールは必ず守らなくてはいけない。 この依存関係のルールによりビジネスのロジックがフレームワークやDB、画面へ依存することを防ぐことができる。

  1. Frameworks & Drivers
  2. UI, Devices DBと等のシステム固有の要素から構成される。フレームワークやDB固有のオブジェクトはこのレイヤに属する。

  3. Interface Adapters
  4. 外部からの入力データをUse CaseやEntityで使用する形式へ変換する。Presenter, View, Controllerはこのレイヤに属する。コントローラやフォームからの入力データは変換されUse Caseへ渡され、Use Case からの返り値はPrenterに渡される。

  5. Application Business Rules
  6. Use Caseから構成される。Application-specific Business Rulesを表現するレイヤ。

  7. Enterprise Business Rules
  8. Entityから構成される。対象ビジネスのコアとなるCritical Business Rulesを表現するレイヤ。

レイヤの構成要素の詳細

  • Entity
  • 対象業務をシステム化した際にCritical Business Ruleを表現したオブジェクト。Critical Business Rulesを表現したオブジェクトであり、システム的なフレームワークやDB等と独立していなければいけない。

  • Use Case
  • Application-specific Business Rulesを表すオブジェクトであり、1つ以上の関数を持つ。入力値から業務ルールに従い値を返す。Entitiy間のデータフローを制御する。Use Case内では複数のEntityを使用うる。

 

読書

Posted by fanfanta