Зачем использовать «Динамический класс прокси» вместо шаблона «стандартный прокси»?Когда использовать шаблон «Динамический прокси-класс» или «стандартный прокси»?
Каковы недостатки или преимущества обоих?
Кажется, что оба они имеют одинаковый конечный результат, за исключением того, что они реализованы по-разному.
Динамический прокси-класс https://docs.oracle.com/javase/8/docs/technotes/guides/reflection/proxy.html
динамический прокси-класс является классом, который реализует список интерфейсов , указанных во время выполнения таким образом, что вызов метода через один из интерфейсов на экземпляре класса будет быть закодирован и отправлен другому объекту через единый интерфейс. Таким образом, динамический прокси-класс может использоваться для создания защищенного типа прокси-объекта для списка интерфейсов , не требуя предварительного генерации прокси-класса, такого как , как и инструменты времени компиляции. Вызовы метода для экземпляра динамического прокси-класса отправляются в один метод в обработчик вызова экземпляра и кодируются с помощью объекта java.lang.reflect.Method , идентифицирующего метод, который был вызван , и массив type Объект, содержащий аргументы.
Стандартный шаблон прокси https://en.wikipedia.org/wiki/Proxy_pattern
прокси, в самом общем виде представляет собой функционирующую класс как интерфейс к чему-то еще. Прокси-сервер может взаимодействовать со всем: сетевым соединением , большим объектом в памяти, файлом или некоторым другим ресурсом, который стоит дорого или невозможно дублировать. Короче говоря, прокси-сервер представляет собой оболочку или объект-агент, вызываемый клиентом для доступа к реальному обслуживающему объекту за кулисами. В прокси могут быть предусмотрены дополнительные функции, например кэширование, когда операции с реальным объектом выполняются с использованием ресурсов, или проверка предварительных условий перед действиями над реальным объектом. Для клиент, использование прокси-объекта аналогично использованию реального объекта , поскольку оба реализуют один и тот же интерфейс.