Документное приложение или нет? - PullRequest
4 голосов
/ 09 ноября 2010

Я пишу настольное приложение, которое можно использовать для управления академией танца.Моя базовая модель данных содержит такие объекты, как учащийся, учитель, класс, счет-фактура и т. Д., А также различные отношения между ними.

Мой запланированный пользовательский интерфейс состоит из вертикального разделения изображения с iTunes-подобным OutlineView с левой стороны.Если щелкнуть элемент «Студенты» в этом виде структуры, содержимое правой панели будет перенесено из NIB ManageStudents.Аналогичным образом, если вы щелкнете по элементу «Счета-фактуры» в виде структуры, текущий вид будет заменен представлением ViewInvoices.Довольно просто, да?

Моя большая дилемма в том, стоит ли использовать документ или нет?Все мои чтения показывают, что это был бы хороший выбор, если бы у пользователя было несколько открытых одновременно объектов.В данном случае это не так - в любой момент времени будет открыт только один экземпляр главного окна.

С другой стороны, я вижу такую ​​большую выгоду от примеров на основе NSDocument, которые ясм. (и, честно говоря, большинство примеров, которые я вижу в Интернете, основаны на документах).Если бы я пошел по этому пути, мне было бы интересно узнать, определю ли я тип документа для каждой из моих базовых сущностей или только один контрольный документ.

Любое руководство будет с благодарностью получено.В качестве альтернативы, указатели на то, что дает конкретный совет о том, когда NSDocument является / не подходит («Обзор приложений на основе документов» от Apple, предупреждает: «Текстовые процессоры и приложения для работы с электронными таблицами - два примера приложений на основе документов» - я надеялсяза что-то более проницательное и актуальное для других реальных приложений)

Ответы [ 2 ]

2 голосов
/ 09 ноября 2010

Подумайте о своей проблемной области. Что бы «документ» модель? Академия танца? Если это так, и вы думаете, что ваши пользователи будут управлять только одной академией, тогда модель на основе документов не нужна. С другой стороны, если вы думаете, что документ представляет учителя, то, скорее всего, один руководитель академии захочет иметь дело с несколькими преподавателями, поэтому модель документа кажется подходящей.

Ключевой вопрос - это вопрос независимости. Если все объекты в модели вашего приложения связаны, то нет необходимости управлять независимыми документами. Если, с другой стороны, существует свободная коллекция объектов, каждый из которых имеет свой собственный набор связанных «потомков», то это выглядит как коллекция документов. Вот почему текстовый процессор основан на документе: текст, атрибуты и изображения в одном файле не связаны с таковыми в другом файле, поэтому имеет смысл рассматривать их как независимые документы.

0 голосов
/ 09 ноября 2010

Если вы видите выгоду, чтобы перейти на NSDocument-based, пойти на это. Причина, по которой я это говорю, заключается в том, что если много текста пишется / читается, то это должен быть хороший выбор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...