私のアプリは、企業の評価に関してかなり複雑な計算を実行します。複数のソースから生データをフェッチします (たとえば、csv データとして格納された Web サービスからの株価と xml データとしての基礎データ)。
データをフェッチした後、アプリはデータを解析し、Core Data に保存して計算を実行します。計算結果もコアデータに格納されます。
私の現在のアプローチは、Company (マネージド) オブジェクトに計算をカテゴリとして追加し、csv および xml データの解析をカテゴリとしてデータ オブジェクトに追加することです (画像には表示されていません)。ネットワーク関連のコードは、別のシングルトン オブジェクトにあります (本で提案されているように: iOS Programming: The Big Nerd Ranch Guide, 3rd Edition)。
問題:
ネットワーク通信と計算は相互に依存しているため (つまり、特定のデータ パッケージを受信した後にのみ開始できる計算もあります)、マルチスレッドを使用したいので、View Controller にかなりの量のコードを作成することになりました。
メディエーター パターンのアイデアに従ってコーディネーター オブジェクトを使用し、View Controller をコーディネーション関連のコードから解放する必要があると思います。
これについてどう思いますか?
- あなたの見解では、メディエーター パターン (コーディネーター オブジェクト) は正しいアプローチでしょうか?
- コーディネーター オブジェクトをどのように設定することをお勧めしますか?
- Web や書籍で、このテーマに関する優れたチュートリアルやサンプルはありますか?
ありがとうございました!