繰り返しになりますが、MVC関連の質問です。数日前、AppleがMVCの実装について説明しているAppleのCocoaFundamentalsGuideを読み始めました。
複合デザインパターンとしてのMVCの章(リンク)では、2つのMVCバージョンを比較しています。
古い/従来のSmallTalkバージョン:
現在のApple定義バージョン:
彼らはこの現在のモデルを次のように説明しています。
この複合デザインパターンのコントローラーオブジェクトには、メディエーターパターンとストラテジーパターンが組み込まれています。モデルオブジェクトとビューオブジェクト間の両方向のデータフローを仲介します。モデルの状態の変化は、アプリケーションのコントローラーオブジェクトを介してビューオブジェクトに伝達され ます。
従来のパターンはMVCのように見えますが、何も問題はありません。しかし、彼らの現在のパターンの名前は私を混乱させます。私の知る限り、コントローラーは常にビューとモデルの間を仲介しているように見えるため、これは単純なMVPと見なすことができます。
私は完全に間違っていますか?MVCまたはMVPを誤解していますか?それとも、Appleはこのパターンに間違った名前を使用しただけですか?そしてさらに重要なのは、なぜこの現在のパターンがMVCと呼ばれるのですか?