Как лучше всего организовать исходный код большого приложения Какао в Xcode?

Вот то, что я ищу:

Я хотел бы разделить части функциональности на модули или компоненты какого-то типа для ограничивают видимость других классов, чтобы каждый класс не имел доступа ко всем остальным классам , что со временем приводит к спагетти-коду.

В Java и Eclipse, например, я бы использовал пакеты и поместил каждый пакет в отдельный проект с четко определенной структурой зависимостей.

Что я рассмотрел:

  1. Использование отдельных папок для исходных файлов и использование групп в Xcode :
    • Плюсы: простота выполнения, почти не требуется конфигурация Xcode
    • Минусы: нет разделения функций во время компиляции, т.е. доступ ко всему осуществляется одним #import оператором
  2. Использование фреймворков :
    • Плюсы: код фреймворка не может получить доступ к классам вне фреймворка. Это обеспечивает инкапсуляцию и сохраняет отдельные вещи
    • . Минусы: управление кодом является громоздким, если вы работаете на нескольких платформах одновременно. Каждая платформа - это отдельный проект Xcode с отдельным окном
  3. Использование подключаемых модулей :
    • Плюсы: Подобно фреймворкам, код плагина не может получить доступ к коду других плагинов. Чистое разделение во время компиляции. Источник плагина может быть частью того же проекта Xcode.
    • Минусы: Не уверен. Это может быть подходящим вариантом ...

Исходя из вашего опыта, что бы вы выбрали, чтобы сохранить отдельные вещи, имея возможность редактировать все источники в одном проекте?

Изменить:

  • Я нацелен на Mac OS X
  • Я действительно ищу решение для принудительного разделения во время компиляции
  • Под плагинами я имею в виду пакеты Cocoa (http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual /LoadingCode/Concepts/Plugins.html)
5
задан Mark 8 July 2011 в 14:15
поделиться