現在、アプリケーションのリファクタリングと再編成を行っています。モデルとビューの間の分離の一部と、それらのコントローラーが減少していることに気づきました。クリーンアップを行いたいと思います。
私のアプリでは、NSPersistentDocument、NSWindowController、およびモデルクラスといういくつかの主要なクラスを使用しています。
NSPersistentDocumentクラスは、「モデルコントローラー」として機能します。モデルクラスのインスタンスを所有し、モデルとのすべての相互作用を管理します。
NSWindowControllerクラスは、「ビューコントローラ」として機能します。メインウィンドウを所有し、メインウィンドウ内のビューの相互作用を管理します。このクラスは、ウィンドウが定義されているnibファイルのファイルの所有者でもあります。
ここで私が見ている問題は、私が本当の「コントローラー」を持っていないということです。私の現在の設計では、モデルコントローラーとビューコントローラーがお互いを認識している必要があります。2つの間に瞑想オブジェクトがないため、モデルとビューが明確に分離されておらず、複数のビューまたはモデルをサポートすることが問題になります。
既存の両方のコントローラーから、モデルコントローラーとビューコントローラーの間のコントローラーとして機能する新しい「コントローラー」クラスに機能を移動したいと思います。結局のところ、これはまだMVCデザインパターンであり、構造が少し増えています。
ただし、これがCocoaのドキュメントベースのアプリアーキテクチャにどのように適合するかを理解するのは困難です。
私が持っている最大の質問は、この新しいコントローラーオブジェクトをどこでどのように作成するかです。これはCocoaのアーキテクチャにどのように適合しますか?私はCocoaのアーキテクチャと戦っていますか?これを行うためのより良い方法はありますか?
ありがとう。