На этот вопрос сложно ответить в общем смысле. Я думаю, что это важно, и вы правы, чтобы хорошенько обдумать это. Я склонен помешаться на визуальном расположении вещей, так как считаю, что это оказывает глубокое влияние на мое восприятие и постоянное понимание моей собственной схемы. Разработчик данных XCode, по сути, является инструментом разработки схем и .
Я стараюсь максимально разделить свои замыслы. Например, если вы рассматриваете случай, подобный iTunes, у вас может быть контроллер, управляющий выбором списка источников библиотеки (список воспроизведения, для простого примера), и другой, управляющий членами выбранного списка воспроизведения. В схеме может быть несколько «связанных с библиотекой» объектов и несколько «связанных со списком воспроизведения» объектов, и определенно есть несколько «связанных с песней» объектов (альбом, исполнитель и песня / дорожка). Я бы сгруппировал вещи, связанные с песней, так, чтобы они были аккуратно выстроены в линию отношений, но визуально отделяли эти сущности от элементов списка воспроизведения и библиотеки.
Другими словами, если вы храните связанные элементы вместе в четко определенных логических кластерах, разделенных красивым пробелом, организованных так же, как вы бы организовали свои контроллеры, концепции остаются достаточно ясными.
Другая проблема заключается в автоматическом размещении Xcode линий отношений. К сожалению, мы мало что можем сделать, чтобы сделать их аккуратными. Я, как известно, проводил (реальное время отредактировано из-за смущения), волнуясь о балансе четко изображенных отношений с четко изображенными кластерами взаимосвязанных сущностей.
Удачи и счастья OCD ! : -)