現在、VoIP会社でインターンとしてソフトウェアを開発しています。MVC パターンを使用して iOS 用の VoIP クライアントを作成しています。
私は MVC についてかなりよく理解しており、この質問が何百万回も尋ねられているという事実を認識していますが、私の例の「知性」がどこに行くべきかについて困惑しています。
例: アプリはユーザー資格情報を要求し、これらをモデルに保存します。たとえば、(bool)setUsername(string usr) とします。モデルは、ユーザー名を NSUserDefaults に、パスワードをキーチェーンに保存します。モデルがこのデータを永続化する場所でコントローラーを気にすることはできませんでした。コントローラーはビューとモデルのラッチとして機能し、入力イベント (ボタンの押下など) も処理します。この情報を使用して、アプリはサーバーに登録し、しばらくしてから呼び出しを行います。
この機能 ( registerUser()、makeCall() ) は MVC のどこに移動しますか? モデルはデータの永続化と計算のためのものであり、他のインテリジェントな動作のためのものではないため、私の推測ではコントローラーになりますが、私はまだ疑問です。