私はこのトピックについていくつかの提案を見つけましたが、依然として私に残されていることがいくつかあります。iOS:アプリケーションのモデルアーキテクチャ
質問は、特にモデルに関するアプリケーション(開発の観点から)を設計することです。
たとえば、Facebook SDKを使用してアプリを構築しています。私はFacebook APIとのコミュニケーションのためのモデルクラスを持つことが理にかなっていると思います。そして、私はこのクラスをシングルトンにすることが理にかなっていると思います(必ずしもそうである必要はありません)。
しかし、iOS用Facebook SDKはデリゲートを基盤にしています。したがって、リクエストを送信し、応答はモデルのデリゲートメソッドで返されます。それは大丈夫ですが、モデルにデリゲートを割り当ててビューコントローラを呼び出すこともできます。
たとえば、ビューコントローラはFacebook-singleton-modelを使用してリクエストを行いますが、リクエストが完了したときにモデルがこのデリゲートを呼び出すように、このリクエストのデリゲートとして自分自身を設定します。 しかし、このモデルは1人の代理人しか持っていないシングルトンです(そして、私はそれをこのように保つ必要があります)。 各コールの前にFacebookシングルトンのデリゲートポインタを上書きしますか? (同じシングルトンを使用している間に別のリクエストが開始され、デリゲートが再び上書きされる可能性があるため、いいです。
いいアーキテクチャは何ですか?アプリケーション全体でモデルを再利用するためのベストプラクティスは何ですか?
私のFacebookモデルにはすでに別のモデルで使用されているカスタムプロトコルがあります。だから、実際にはView Controller - > UserManagement Model - > Facebookモデルです。 これは、この全体の代理人を働かせないことになります。 – cmart