4

ダンス アカデミーの管理に使用できるデスクトップ アプリを作成しています。私のコアデータモデルには、学生、教師、クラス、請求書などのエンティティと、それらの間のさまざまな関係が含まれています。

私が計画している UI は、左側に iTunes のような OutlineView を持つ垂直分割ビューで構成されています。そのアウトライン ビューで [Students] 項目をクリックすると、右側のパネルの内容が ManageStudents NIB からスワップインされます。同様に、アウトライン ビューで [Invoices] 項目をクリックすると、現在のビューが ViewInvoices ビューに置き換えられます。かなり単純ですよね?

私の大きなジレンマは、ドキュメントベースに移行するかどうかです。私のすべての読書は、ユーザーが一度に複数のエンティティのインスタンスを開いている場合、それが良い選択であることを示唆しています。ここではそうではありません - 開いているメイン ウィンドウのインスタンスは常に 1 つだけです。

一方で、私が見た NSDocument ベースの例には多くの利点があることがわかります (正直なところ、Web で見ることができるほとんどの例はドキュメント ベースのようです)。この道をたどるとしたら、基本エンティティごとにドキュメント タイプを定義するのか、それとも 1 つの制御ドキュメントだけを定義するのかが気になります。

どんなガイダンスもありがたく受け取られます。あるいは、NSDocument が適切である/不適切である場合について具体的なアドバイスを提供する場所へのポインタ (Apple の「ドキュメントベースのアプリケーションの概要」は、「ワード プロセッサとスプレッドシート アプリケーションはドキュメントベースのアプリケーションの 2 つの例です」と有益にアドバイスしています。もう少し洞察力があり、他の実世界のアプリケーションに関連するもの)

4

2 に答える 2

2

問題のドメインについて考えてみましょう。「ドキュメント」モデルとは? ダンスアカデミー?その場合、ユーザーが 1 つのアカデミーのみを管理すると考えられる場合は、ドキュメント ベースのモデルは不要です。一方、ドキュメントが教師を表していると考える場合、1 人のアカデミー マネージャーが複数の教師を扱いたいと考える可能性が高いため、ドキュメント モデルが適切であると思われます。

重要な問題は、独立性の 1 つです。アプリケーションのモデル内のすべてのオブジェクトが関連している場合、独立したドキュメントを管理する必要はありません。一方、それぞれが独自の関連する「子」のセットを持つオブジェクトの緩いコレクションがある場合、これはドキュメントのコレクションのように見えます。これがワープロが文書ベースである理由です。あるファイルのテキスト、属性、および画像は、別のファイルのテキスト、属性、および画像とは無関係であるため、それらを独立した文書として扱うことが理にかなっています。

于 2010-11-09T13:41:21.023 に答える
0

NSDocument ベースに移行する利点がある場合は、それを選択してください。私がこれを言う理由は、テキストの書き込み/読み取りが多い場合は、それが良い選択になるはずだからです.

于 2010-11-09T12:15:13.987 に答える