Препроцессор с шаблоном прокси-дизайна - PullRequest
1 голос
/ 06 мая 2011

В разделе прокси в Дизайнерской Скороговорке от Банды Четырех говорится:

Перегрузка оператора доступа члена не является хорошим решением для любого типа прокси. Некоторые прокси нужно точно знать, какая операция вызывается, и перегружать оператор доступа члена не работает в этих случаях.

[...]

В этом случае мы должны вручную реализовать каждую прокси-операцию, которая перенаправляет запрос субъекту.

[...]

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

ОК, какой препроцессор и как в C ++?

Ответы [ 2 ]

0 голосов
/ 06 мая 2011

Я думаю, что они имеют в виду автоматическую генерацию кода-обертки вокруг предметного класса.Примером может служить код оболочки, сгенерированный проектом SWIG .

0 голосов
/ 06 мая 2011

Каноническая ссылка для реализации некоторых шаблонов проектирования в C ++:

Современный дизайн C ++ Александреску

Еще один хороший справочник по методам использования системы типов C ++для создания шаблонов проектирования приводится книга по

C ++ Templates от Vandevoorde & Josuttis

И справочник по метапрограммированию шаблонов -

Шаблон метапрограммирования на C ++: концепции, инструменты и методы, разработанные Дэвидом Абрахамсом и Алеским Гуртовым из Boost и Beyond.

...