Архитектура предпочтительных областей
Этот раздел обеспечивает обзор предпочтительной архитектуры области. Это описывает различные компоненты, вовлеченные в использование предпочтительных областей и как они совмещаются, принцип разработки в плагине, и наконец некоторые подробные данные реализации.
Архитектура приложения
Существует три логических компонента к предпочтительной архитектуре области: приложение, загружающее предпочтительные плагины области (предпочтительное приложение), Предпочтительная платформа Областей (PreferencePanes.framework
), и предпочтение разделяет сами плагины на области. Ответственность каждого следующие:
Предпочтительное приложение служит контейнером предпочтительной области: Это загружает предпочтительный плагин области и обеспечивает окно, в котором выведена на экран предпочтительная область. Когда плагин загружается, приложение создает экземпляр принципиального класса плагина, подкласс NSPreferencePane. Через интерфейс NSPreferencePane приложение уведомляет предпочтительную область, когда область выведена на экран и снова когда это удаляется из экрана.
Предпочтительные действия платформы Областей как интерфейс между предпочтительным приложением и предпочтением разделяют плагин на области. Платформа обеспечивает класс NSPreferencePane, разделяющийся на подклассы плагином. Приложение использует методы, определенные NSPreferencePane для передачи с плагином. Реализация по умолчанию NSPreferencePane в состоянии загрузить файл пера по умолчанию и обеспечить приложение, с целью содержащее пользовательский интерфейс.
Предпочтительный плагин области обеспечивает пользовательский интерфейс для изменения предпочтений и взаимодействует с системой или другим приложением для записи изменений. Плагин экспортирует принципиальный класс, который является подклассом класса NSPreferencePane. Экземпляр этого подкласса создается предпочтительным приложением. Этот экземпляр, предпочтительный объект области, инициализирует пользовательский интерфейс с текущими предпочтительными настройками, получает сообщения действия от интерфейса, когда пользователь вносит изменения, и затем записывает изменения, когда закончен пользователь.
В управлении предпочтительными настройками предпочтительный объект области обычно взаимодействует с дополнительным компонентом: объект, к которому применяются предпочтения. Эта цель может быть частью операционной системы или один или несколько отдельные приложения; взаимодействие может быть прямой связью между предпочтительным объектом области и целью или косвенной коммуникацией хотя использование предпочтительного файла.
Сменная архитектура предпочтительных областей проиллюстрирована, показав случай косвенной связи с целевым приложением, на рисунке 1.
Архитектура проекта
Предпочтительные области создаются с помощью проекта Model-View-Controller (MVC) в чем, пользовательский интерфейс (Представление) и модель данных (Модель) разделяется от друг друга со всей коммуникацией, проходящей через третий объект (Контроллер). Приложения какао, а также платформы Какао, часто реализуются с помощью MVC, допускающего большую гибкость и объектное повторное использование.
Рисунок 2 показывает проект MVC, поскольку это применяется к предпочтительным областям. NSPreferencePane
подкласс (предпочтительный объект области) принимает центральную роль Контроллера. Это - посредник между пользовательским интерфейсом, определенным в файле пера и предпочтительным файлом, содержащим предпочтения пользователя. Через соединения целевого действия между пользовательским интерфейсом (Представление) и предпочтительным объектом области, пользовательский интерфейс отправляет сообщения в предпочтительный объект области, поскольку пользователь выполняет действия. Предпочтительное заявление может также быть рассмотрено часть Представления, так как это обеспечивает, окно для отображения предпочтения разделяют на области, и уведомляет предпочтительный объект области, когда пользователь выбирает и отменяет выбор предпочтительной области. Предпочтительный объект области переводит эти пользовательские действия в измененные предпочтительные значения и обновляет значения в предпочтительном файле (Модель).
Реализация
Предпочтительная платформа Областей является платформой Objective C, созданной поверх Какао. Также, это может использоваться только приложением Какао, и пользовательский интерфейс, который Вы создаете для предпочтительного модуля области, должен также быть реализован с помощью Какао. Вы не можете создать Основанную на углероде, или основанную на Java, предпочтительную область с этой платформой. Напротив, приложение, к которому применяются предпочтения, может быть реализовано на любом языке с помощью любой платформы, если это в состоянии связаться с предпочтительной областью.
Для хранения предпочтений Mac OS X имеет встроенную предпочтительную систему, Core Foundation Preference Services, обеспечивающую все приложения (Какао, Углерод или BSD) возможность легко читать и пишущую информацию о предпочтении в стандартизированные XML-ФАЙЛЫ. Когда прямая связь между приложениями требуется, можно выбрать из множества методов от низкоуровневых сигналов и сокетов к высокоуровневым событиям Apple, большинство которых доступно и приложениям Какао и Углерода.