私はYouTubeのスタンフォードからスウィフトのインストラクションビデオを見ていました。インストラクター(Paul Hagerty、偉大な先生!)は、iOSがMVC(モデルビューコントローラ)のアイデアを背景に構築されていることについて語ります。スタックオーバフローでアイデアが死んだと言う人もいますし、多くのWeb開発者がこの用語を使用していると言う人もいます。MVC、コントローラとモデルの違い?
コントローラーとモデルを区別するのに問題があります。 MVCをユーザーインターフェイス(Webページ/ UI)、コントローラ(サーバー)、モデル(データベース)として説明しました。しかし、インストラクターはビュー(理解しやすいUI)、モデル(例えば計算を行うデータとロジック)、コントローラ(特定のプログラミングロジックでモデルとビューを接続する)などと記述しました。
スタンドアロンアプリケーション(ウェブではない)のデータベースがない場合、私たちのプログラムが同時にどのように動作するのかというデータとロジックも作成していないのですか?この状況でコントローラーとモデルの違いは何ですか?
したがって、モデルは基本的に配列(またはオブジェクト/データ)のようなものが格納されているコンピュータ上の実際のメモリ位置です。これが私が推測するデータベースの例に似ている理由です。入力した配列を入力して配列に挿入するのはコントローラであり、そのビューはその配列データをUIに表示していますか? – schulzey
メモリの場所よりも抽象的に考えるのが普通です。モデルは通常、オブジェクトです。ここで述べた単純な文字列または配列、またはデータベースをカプセル化し、モデルを操作するメソッドを含むより複雑なオブジェクトでもかまいません。たとえば、「オーダー」モデルオブジェクトには、オーダーからの広告申込情報の追加/削除、オーダーの送信、有料としてのマーキングなどの方法があります。 – Paulw11