Skip to content
This repository has been archived by the owner on Dec 6, 2021. It is now read-only.

Flow_of_Data_and_Processes ja

Tetsuya Mori edited this page Sep 11, 2018 · 3 revisions

データ・処理の流れ

実際の開発時に想定される実装を例に挙げて、図を交えながらデータ・処理の流れを考えてみます。

イベント処理

events

事前準備

  1. 初期化処理
    • Zenject Installer にて IInitializable を Bind することで発火させる
  2. UseCase は Presenter から弾丸発射のタイミングを通知する Observable を取得
  3. Presenter は View から弾丸発射のタイミングを通知する Observable を取得
  4. View はクリック時に発火する Observable を返却
  5. UseCase は返ってきた Observable を購読し、OnNext 時の処理として弾丸発射メソッドを登録

実処理

  1. スクリーンがタップされる
  2. View のクリック通知用 Observable に OnNext メッセージが流れる
  3. 事前準備にて購読済の Observer.OnNext が実行される
  4. 弾丸発射処理が呼び出される
  5. UseCase は Presenter に対して弾丸描写を命令
  6. Presenter は View に対して弾丸描写を命令
  7. 弾丸が描写される

通信エラーをエラーダイアログに描画

render server errors

事前準備

  1. 初期化処理
  2. Presentation Structure を構築
  3. Inject 済の Entity に定義された、サーバとの通信結果を通知するための Subject を Structure の Observer に繋ぐ
  4. UseCase から Presenter に Structure を渡す
  5. Presenter から View に Structure を渡す
  6. View で Observable を購読し、エラー発生時の処理を登録する

実処理

  1. 何らかのトリガーにより処理起動
  2. サーバ問い合わせ用の Data Structure を構築
  3. Structure の Observable を Entity の Subject に繋ぐ
  4. UseCase から Repository に Structure を渡す
  5. Repository から DataStore に Structure を渡す
  6. DataStore からサーバに問い合わせる
  7. サーバからエラーが返される
  8. Structure の Observer に OnError のメッセージが流れる
  9. 事前準備で購読済の OnError にメッセージが流れる
  10. エラーダイアログが描画される