Опубликован: 10.12.2007 | Доступ: свободный | Студентов: 822 / 20 | Оценка: 5.00 / 5.00 | Длительность: 58:33:00
Лекция 9:

Команды

Аннотация: В этой лекции рассматривается система команд Mozilla, которая служит для отделения функциональности приложения от его внешнего вида и используется отдельно от системы событий DOM. Приведены основные теги для команд, рассмотрены их основные атрибуты и свойства



В этой лекции рассматривается система команд Mozilla. Система команд служит для отделения функциональности приложения от его внешнего вида. Она используется отдельно от системы событий DOM, хотя события и команды могут взаимодействовать.

Очень важно, чтобы задачи, выполняемые окном приложения, как-то отделялись от своих пользовательских интерфейсов. С одной стороны, это связано с тем, что XUL-интерфейсы легко поддаются изменениям, и во время проектирования, и во время работы приложения. Такие интерфейсы накладывают жесткое ограничение на архитектуру приложения. С другой стороны, многие существующие методики разработки программного обеспечения могут применяться к задачам приложения, если их можно выразить самостоятельно. Примеры таких методик - варианты использования и схемы иерархий. Отдельное определение задачи делает ее повторное использование более вероятным. В конце концов, такая стратегия разделения образует гибкую среду проектирования.

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

Традиционные приложения на основе HTML часто состоят из самой запутанной части JavaScript-кода. Систему команд также можно рассматривать как попытку избавиться от этого неструктурированного подхода.

Иллюстрация в начале этой лекции демонстрирует те части Mozilla, которые реализуют команды. Из рисунка видно, что система команд строится поверх DOM и подсистемы событий DOM, но также требует доступа к определенному числу XPCOM-компонентов. Самые важные компоненты также появляются как AOM-объекты. В XUL-языке есть теги, поддерживающие систему команд, но у них нет визуального представления; в этом отношении они похожи на тег [m]<key>[/m]. Система команд идет дальше тега [m]<key>[/m], потому что у нее нет никакого пользовательского интерфейса. Система команд по отношению к платформе полностью внутренняя.