Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

В Apple Macintosh компьютерного программирования , компонент Менеджер был один из многих подходов к коду разделения, зародившихся на пре- PowerPC Macintosh. Первоначально он был представлен как часть QuickTime , который оставался частью классической Mac OS, которая использовала его наиболее активно. [1]

Технические детали [ править ]

Компонент был кусок кода , который при условии , различные функции , которые могут быть вызваны клиентами. Каждая функция была идентифицирована 16-битным целочисленным идентификационным кодом со знаком. Неположительные коды были зарезервированы для предопределенных функций, которые должны быть поняты всеми компонентами - открытие / закрытие экземпляра компонента, запрос о поддержке функции и т. Д. Значение положительных кодов функций зависело от типа компонента.

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

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

Компоненты были идентифицированы кодами OSType с указанием их типа , подтипа и « производителя ». Например, типом компонента может быть «компрессор растровых изображений», подтипы которого могут существовать, среди прочего, для JPEG, H.261, Sorenson и Intel Indeo. Можно было зарегистрировать несколько компонентов с одними и теми же идентификационными кодами, давая альтернативные реализации одного и того же алгоритма, например, с использованием оборудования и программного обеспечения, компромисса между скоростью и качеством или другими критериями. Приложения могли запрашивать существование таких альтернатив и делать явный выбор между ними или позволять системе выбирать значение по умолчанию.

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

Компоненты Mac OS [ править ]

В Mac OS скопилось множество различных типов компонентов:

  • В QuickTime были кодеки изображений, обработчики мультимедиа, обработчики мультимедийных данных, драйверы цифрового преобразователя видео, средства импорта и экспорта форматов файлов и многие другие.
  • В версии 3.0 Sound Manager перешел на преимущественно компонентную архитектуру: устройства вывода звука были представлены как компоненты, а также были типы компонентов для микширования нескольких каналов, преобразования между различными частотами дискретизации и размерами дискретизации, а также кодирования и декодирования сжатых форматов.
  • AppleScript представил концепцию языков сценариев, реализованных в виде компонентов.
  • ColorSync реализовал различные методы сопоставления цветов в качестве компонентов.
  • «Масштабаторы шрифтов» QuickDraw GX были средствами визуализации для различных форматов шрифтов.

Ссылки [ править ]

  1. ^ Вайнштейн, Стивен Б. (2005). Мультимедийный Интернет . Springer. С.  355 . ISBN 0-387-23681-3.