×
Namespaces

Variants
Actions

R-классы

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Статья
Перевод:
Оригинал: R class
Den123
Последнее редактирование: hamishwillee (08 Dec 2011)

R-классы предоставляют доступ к объектам, владение и управление которыми осуществляется где-то еще (выступают в качестве прокси). Две основные причины:

  • Реальные объекты принадлежат серверу, который функционирует в рамках другой нити или в другом адресном пространстве.
  • Конкретная реализация объектов должна быть скрыта от вызывающей стороны.

Важные характеристики объектов R-классов:

  • Содержат handle (абстрактный идентификатор) с помощью которого выполняются запросы
  • Перед началом работы объект необходимо открыть (проинициализировать) с помощью функции "open", при завершении работы нужно вызвать функцию "close". Объект R-класса должен быть закрыт, если предварительно было выполнено его открытие. Как правило, ресурсы, ассоциированные с объектами R-классов, закрываются автоматически, при уничтожении нити, в рамках которой они были открыты.
  • Не имеют явного конструктора, деструктора, копирующего конструктора или оператора присваивания.

Необходимо отметить:

  • R-классы не имеют общего предка
  • Инициализирующие функции могут называться по-разному: Open(), Create(), Allocate() и т.д.
  • Деинициализирующие функции могут так же иметь различные имена: Close(), Destroy(), Free() и т.д.
  • R-классы владеющие внешними ресурсами могут нуждаться в очистке. Решение этой проблемы зависит от конкретной реализации класса
This page was last modified on 8 December 2011, at 14:14.
39 page views in the last 30 days.
×