Материалы книги получены с http://www.itlibitum.ru/
Грани и ведущие указатели
Концепции граней и кристаллов хорошо сочетаются с концепцией ведущих указателей. Существуют два основных подхода.
Ведущий указатель в середине
Традиционный ведущий указатель (вероятно, с использованием оператора ->) вставляется между указываемым объектом и гранью. В этом случае грани превращаются в разновидность дескрипторов, косвенно обращающихся к членам указываемого объекта через ведущий указатель. Ведущий указатель должен уметь хотя бы генерировать кристалл, который затем будет использоваться клиентами для генерации других граней. Если весь доступ к объекту осуществляется через грани, подумайте о том, чтобы сделать оператор -> ведущего указателя закрытым, а грани объявить друзьями.
Превращение кристалла в ведущий указатель
Кристаллу присваиваются функции ведущего указателя. Затем кристалл генерирует грани и поддерживает семантику ведущего указателя для конструирования и уничтожения. Грани получают доступ к указываемому объекту через кристалл. Чтобы вам было удобнее, можно предоставить закрытый оператор -> в кристалле и сделать грани друзьями кристалла. Грани фактически превращаются в дескрипторы и получают доступ к указываемому объекту косвенно, через кристалл.
Назад Содержание Далее
|