iOSアプリケーションのほとんどはMVCデザインパターンに基づいており、私たちは長年にわたって私たちのアプリケーション内でシングルトンクラスを使用しています。私は、シングルトン自体がデザインパターンであり、多くの人がそれをアンチパターンとみなし、シングルトンについては良い悪いものとみなしています。iOSシングルトンクラス(MVCアーキテクチャ内)
しかし、MVCをアプリケーション開発の全体的なアーキテクチャーとして考えると、シングルトンはどこに分類されるのか理解したいと思います。それはモデルかビューかコントローラか?もしそうなら、なぜですか?これら3つのいずれにも属していなければ、それは何ですか?
これは愚かな疑問に思えるかもしれませんが、評判の良い会社のインタビューでこの質問を受けたので、迷惑をかけることがあります。
View Controllerは、必要に応じて作成されることが多く、不要になったときに自動的に割り当てが解除されます。そのような種類のビューコントローラはシングルトンにはなり得ませんでした。あなたのビューコントローラがシングルトンの場合、私はあなたの決定に疑問を呈します。一方、Modelクラスの場合、シングルトンであることはまったく珍しいことではありません。 – gnasher729
私は '理論上'と言っています。投稿はMVCについて、ios開発フレームワークで可能なことではないと尋ねています。質問はベストプラクティスに関するものではなく、シングルトンがMVCの「一部」であり、それはインタビューで誰かに尋ねる論理的な質問ではありません。その質問が実際に「どこにあなたがiOSアプリケーションでシングルトンを最も使いたいと思うか」だったら、それは答えを変えるでしょう...私は明確にするために編集します。 – Toby