Upgrade to Pro — share decks privately, control downloads, hide ads and more …

軍事思想_作戦術_で整理するドメイン駆動設計___DCIアーキテクチャ.pdf

Avatar for Tarou Tarou
February 22, 2020

 軍事思想_作戦術_で整理するドメイン駆動設計___DCIアーキテクチャ.pdf

Avatar for Tarou

Tarou

February 22, 2020

Other Decks in Programming

Transcript

  1. ユースケース層を3つに分割する理由 3.ビジネスロジックを実行する目的の明確化・・・ ビジネスロ ジックは、ビジネスにおける目的を達成するため のソース を記述する。しかし、ビジネスにおける目的は多 岐に渡る ため、一つのメソッド内に多数の目標を達成す るロジック を集中して記述してしまう。これがロジックの複

    雑化を引き 起こし、ソースの可読性の低下、メンテナンス 性の低下を 引きおこす。そのため、ビジネスにおけるビジ ネスロジック は目的ごとに分離されなければならない。 ユースケース層の作戦レベルでビジネスロジックを目的ご と に分類し、ビジネスロジックがどのような目的を達成す る ために記述されているか明確化する
  2. コントロール層・・・実装するクラス一 覧 コントール層は以下の要素で構成される Controller・・・REST APIの提供、Convetクラスのメソッドの 呼び出し、ユースケース層の画面レベルのメソッドの呼び 出し、 Web用、Andoroid、iOSへ引数を返却する際の値変換 (JSON化)など Coverter・・・REST

    APIから取得した画面の入力値の値を ユースケース層へ引き渡す際の値の変換 Bean・・・コントロール層から取得した入力値を格納して、 ユースケース層へ引き渡す際のクラス。getter setterでメ ソッドを構成。表示画面と1対1の関係にある。
  3. ユースケース層・・・実装するクラス一 覧 DCIアーキテクチャ関連クラス • RegistartDto・・・Roleクラスで登録処理を実施する際の 値を格納するクラス • Context・・・RegistartDto、Decideクラスの意識決定結 果を引数として受け取り、Actorクラスのインスタンス生 成、Decideクラスの意識決定結果をふまえた実行する

    Roleメソッドの選択を行う • Actor・・・Roleインターフェースを実装するラス • Role・・・インターフェース。Mixinを使用して多重継承を実 施。ドメイン層のメソッドの呼び出し 又は RegistartDtoに 格納された値の入力チェック後のデータ、登録、更新、削 除などを記述。