以下のアプリがあるとします。
ユーザー一覧表示アプリ
・ユーザー一覧を表示するアプリ
・このアプリとは別のアプリが持つDBからユーザー一覧を取得する
・DBは24時間ランダムで更新されるので、DBの変更通知を受け取るためのListenerを作成し、DBを持つアプリに登録する必要がある
DBを提供するアプリ
・ユーザー一覧のDBを持っている
・DBは24時間ランダムで更新される
・DBが更新されたら、外部アプリに通知をするIFを提供している。登録されたListenerに対して通知する。
※DBが更新されたことを通知するが、どう変わったかは一切伝えない。何かが変わったというイベントのみ伝える。
質問内容
ユーザー一覧表示アプリは表示中にユーザー一覧が更新されることを想定してDBの監視をします。
registerListener/removeListenerといった処理を行う必要がある場合、
この処理はクリーンアーキテクチャーのUseCase層が担当すべきでしょうか?
引用先
http://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
考えたこと
自分の意見としてはUseCaseが担当しないと考えています。
DBの更新通知というのは、円の図でいうControllers(入力)の部分に該当するんじゃないかと思っており、
ユーザーがボタンをタップしたとか、文字を入力したとか、そういう扱いになるのかなと思いました。
そのためDBの監視はUseCaseやEntitiesの役割ではなく、その外で行うことが良いと思ったのですが、
この考えが適切なのかわからずご教示頂けると助かります。どうぞ宜しくお願いします。
※円の図をみるとDBはControllersではなくGagewaysの近くにあるので、Controllersを関連させるのは間違っているかもしれません
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/09 10:47