Я просматривал одну из статей о шаблоне прокси.
Прочитайте комментарии после объяснения
В этой статье упоминается несколько недостатков шаблонов прокси, но я не могу понять:
1)
Недостатком здесь является то, что может происходить «волшебство», о котором расширитель не подозревает (проблема «черного ящика»). Пожалуйста, объясните магию.
2)
Прокси может маскировать жизненный цикл и состояние энергозависимого ресурса от своего клиента. Клиент может вызвать прокси-сервер, не понимая, что ресурс в настоящее время недоступен... в этом случае прокси-сервер должен либо заблокировать до тех пор, пока ресурс снова не будет доступен, либо он должен выдать какую-то ошибку. В терминах Java это должно быть непроверяемое исключение, поскольку прокси-сервер должен соответствовать интерфейсу исходного объекта. Также клиент может не знать, что ресурс, который он вызывает сейчас, не является тем же ресурсом, который он вызывал секунду назад; если на ресурсе есть какое-либо состояние, то клиент может быть сбит с толку тем, что состояние кажется забытым.
Пожалуйста, объясните.
3)
если прокси используется для представления удаленного ресурса в локальном процессе, это может скрыть тот факт, что задействована удаленная связь. Как мы знаем, удаленный вызов полностью отличается от локального вызова, и наши программы не должны относиться к нему так, как будто это одно и то же. Лучше, если прокси каким-то образом заявит, что это прокси для удаленного ресурса, а не для локального ресурса. Тогда клиенты смогут выбирать только локальные ресурсы или изменять свое поведение при использовании удаленного ресурса.
Не могли бы вы помочь мне понять три пункта выше, связанные с недостатками прокси-сервера?