Плииз помогите уяснить разницу.
Смотрю и не вижу, хоть убей.
На некоторых сайтах написано, что Proxy — compile time, Decorator — runtime,
Но я могу реализовать и DynamicProxy, который будет тоже в runtime...
В общем, хотелось бы услышать мнение...
Здравствуйте, Аноним, Вы писали:
А>Плииз помогите уяснить разницу.
А>Смотрю и не вижу, хоть убей.
А>На некоторых сайтах написано, что Proxy — compile time, Decorator — runtime,
А>Но я могу реализовать и DynamicProxy, который будет тоже в runtime...
Я бы не заморачивался. Значение зависит от используемого языка/фреймворка и определяется исключительно религиозными предпочтениями.
С вики (русская версия непереводимо ужасна).
The decorator pattern can be used to make it possible to extend (decorate) the functionality of a certain object at runtime, independently of other instances of the same class
== Обёртка вокруг экземпляра с дополнительным функционалом.
A proxy, in its most general form, is a class functioning as an interface to something else
== обёртка, делегирующая (возможно, удалённо) вызовы.
Прелесть в том, что реализация любого паттерна в чистом виде встречается очень редко. Сюда можно притянуть за уши что угодно: compositor, adapter, facade и даже mediator c flyweight — и докажите, что это не оно