MVCに関して非常に一般的な質問があります。タブバーコントローラーを使用して、Webサービスからのさまざまな種類のデータを表示するアプリがあります。
データのフェッチやプレゼンテーション用の変更など、すべての汚い作業を行う「モデル」クラスがありますが、各MVCでそのクラスをインスタンス化しています。そして、ここで問題が発生します。たとえば、アプリの2つのタブは[販売]と[コメント]です。アプリが起動したら、Salesを取得して表示し、コメントを取得して、新しいコメントがある場合は[コメント]タブにバッジを付けます。
そのフェッチプロセスには、Webサービスからのデータのプル、コアデータへの保存、キャッシュからのプル、比較などが含まれます。ユーザーが[コメント]をタップすると見苦しくなりますが、[販売]タブでフェッチしています(そのバッジのみ) )。そして、Commentsが出てきたとき、Sales MVCは死んでいて、それが台無しになるのを防ぐために何も言えません。
私の質問は、どうすれば「脳」クラスをMVCから独立させることができるかということです。つまり、MVCごとに頭脳を持たせたくない(意味がありません)が、すべてのMVCに1つだけで、委任を使用してデータやバッジなどをプッシュするということですか?UITabBarControllerをサブクラス化して、そこにブレインクラスを固定することを考えましたが、このようにするのが良い習慣かどうかはわかりません。
何かご意見は?