Jump to content

Менеджер компонентов

В Apple Macintosh компьютерном программировании Component Manager был одним из многих подходов к совместному использованию кода, которые возникли на Macintosh до PowerPC . Первоначально он был представлен как часть 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). Мультимедийный Интернет . Спрингер. стр. 355 . ISBN  0-387-23681-3 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ef0872ddd6ff6d44cf2f0ab3cabcc530__1605830580
URL1:https://arc.ask3.ru/arc/aa/ef/30/ef0872ddd6ff6d44cf2f0ab3cabcc530.html
Заголовок, (Title) документа по адресу, URL1:
Component Manager - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)