Архитектура предпочтительных областей

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

Архитектура приложения

Существует три логических компонента к предпочтительной архитектуре области: приложение, загружающее предпочтительные плагины области (предпочтительное приложение), Предпочтительная платформа Областей (PreferencePanes.framework), и предпочтение разделяет сами плагины на области. Ответственность каждого следующие:

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

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

  Архитектура Плагина рисунка 1 предпочтительных областей
Plug-in architecture of preference panes

Архитектура проекта

Предпочтительные области создаются с помощью проекта Model-View-Controller (MVC) в чем, пользовательский интерфейс (Представление) и модель данных (Модель) разделяется от друг друга со всей коммуникацией, проходящей через третий объект (Контроллер). Приложения какао, а также платформы Какао, часто реализуются с помощью MVC, допускающего большую гибкость и объектное повторное использование.

Рисунок 2 показывает проект MVC, поскольку это применяется к предпочтительным областям. NSPreferencePane подкласс (предпочтительный объект области) принимает центральную роль Контроллера. Это - посредник между пользовательским интерфейсом, определенным в файле пера и предпочтительным файлом, содержащим предпочтения пользователя. Через соединения целевого действия между пользовательским интерфейсом (Представление) и предпочтительным объектом области, пользовательский интерфейс отправляет сообщения в предпочтительный объект области, поскольку пользователь выполняет действия. Предпочтительное заявление может также быть рассмотрено часть Представления, так как это обеспечивает, окно для отображения предпочтения разделяют на области, и уведомляет предпочтительный объект области, когда пользователь выбирает и отменяет выбор предпочтительной области. Предпочтительный объект области переводит эти пользовательские действия в измененные предпочтительные значения и обновляет значения в предпочтительном файле (Модель).

  Проект рисунка 2 Контроллера представления Модели предпочтительных областей
Model-View-Controller design of preference panes

Реализация

Предпочтительная платформа Областей является платформой Objective C, созданной поверх Какао. Также, это может использоваться только приложением Какао, и пользовательский интерфейс, который Вы создаете для предпочтительного модуля области, должен также быть реализован с помощью Какао. Вы не можете создать Основанную на углероде, или основанную на Java, предпочтительную область с этой платформой. Напротив, приложение, к которому применяются предпочтения, может быть реализовано на любом языке с помощью любой платформы, если это в состоянии связаться с предпочтительной областью.

Для хранения предпочтений Mac OS X имеет встроенную предпочтительную систему, Core Foundation Preference Services, обеспечивающую все приложения (Какао, Углерод или BSD) возможность легко читать и пишущую информацию о предпочтении в стандартизированные XML-ФАЙЛЫ. Когда прямая связь между приложениями требуется, можно выбрать из множества методов от низкоуровневых сигналов и сокетов к высокоуровневым событиям Apple, большинство которых доступно и приложениям Какао и Углерода.