Независимо от того, какая структура вашего приложения наиболее очевидна, это короткий, но в конечном итоге бесполезный ответ. Я не уверен, что есть один правильный ответ.
В качестве отправной точки один данных, вот примерно как я структурирован мое самого сложное приложение:
- приложений ширины данных (модель) имеет свою собственную группу
- Вспомогательные классы/функции получают свою собственную группу (иногда вложенные, где они требуют нескольких собственных классов)
- У меня есть группа
UI
для простых видов. Эти классы часто также содержат контроллер
- У меня есть группа других групп для ряда связанных видов. Например, часть моего приложения отображает теги, и к этому относятся два или три вида. Я группирую представления, контроллеры и, иногда, данные вместе.
Группировка не отражает структуру класса. Мое общее правило заключается в том, что я хочу иметь файлы, которые я хочу изменить одновременно вместе.