ntation->f(); } void g() { imp

Автор admin Пятница, 19 июня 2009 11:32

ntation->f(); } void g() { implementation->g(); } void h() { implementation->h(): } }: int mainO { Proxy p: p.f(): P-gO: p.h(): } III:- В некоторых случаях класс Implementation даже не обязан иметь одинаковый интерфейс с классом Proxy — если Proxy умеет взаимодействовать с классом Implementation и передавать ему вызовы функции, основной принцип успешно работает (обратите внимание: данное утверждение противоречит определению Посредника по БЧ). Тем не менее, наличие общего интерфейса позволяет произвести прямую замену исходного объекта объектом Посредника в клиентском коде: клиентский код написан для взаимодействия с исходным объектом, и его не придется изменять для работы с Посредником (вероятно, это один из важнейших аспектов применения Посредника). Кроме того, наличие общего интерфейса гарантирует, что Implementation содержит все функции, вызываемые Proxy. Различия между Посредником и Состоянием определяются кругом задач, решаемых при помощи этих паттернов. Основные области применениями Посредника перечислены далее (по БЧ). 488 Глава 10 • Паттерны проектирования • Удаленный посредник. Посредник пред


Комментарии закрыты.