Proxy
Заместитель
Назначение
Идиома Proxy позволяет клиентскому коду работать с заместителем таким же образом, как с реальным объектом, не внося в него изменений.
Реализуется идиома при помощи шаблонов и наследования.
Заместитель может быть реализован как класс, который имеет тот же интерфейс, что и оригинальный объект, но может выполнять дополнительные действия перед вызовом методов оригинального объекта.
Решаемые задачи
управление доступом к ресурсам или сервисам
кэширование данных
проведение логирования и аудита
обеспечение защищенного соединения между клиентом и сервером
Пример реализации идиомы Proxy
// Интерфейс для оригинального объекта и прокси
class Object
{
public:
virtual void DoSomething() = 0;
};
int main()
{
std::vector<ObjectProxy > objects(10);
// Выполняем операцию для каждого объекта
for (Object & obj : objects)
obj.DoSomething();
return 0;
}
Last updated
Was this helpful?