Рубрики
Без рубрики

Шаблон прокси-сервера

Предоставьте суррогат или заполнитель для другого объекта, чтобы контролировать доступ к нему. Участник… Помеченный тегом structural, pattern, design pattern, java.

Предоставьте суррогат или заполнитель для другого объекта, чтобы контролировать доступ к нему.

  • Прокси: поддерживает ссылку, которая позволяет прокси получить доступ к реальному объекту. Прокси-сервер может ссылаться на Субъект, если Реальный Субъект и интерфейсы Субъекта совпадают. Предоставляет интерфейс, идентичный интерфейсу субъекта, так что прокси-сервер может быть заменен реальным субъектом. Контролирует доступ к реальной теме и может нести ответственность за ее создание и удаление. Другие обязанности зависят от типа доверенного лица: Удаленные прокси-серверы отвечают за кодирование запроса и его аргументов, а также за отправку закодированного запроса реальному субъекту в другом адресном пространстве. Виртуальные прокси-серверы могут кэшировать дополнительную информацию о реальном объекте, чтобы они могли отложить доступ к нему. Например, прокси-сервер изображений из Мотивации кэширует экстент реальных изображений. Прокси-серверы защиты проверяют, что вызывающий абонент имеет права доступа, необходимые для выполнения запроса.
  • Тема: определяет общий интерфейс для RealSubject и Прокси-сервера, чтобы Прокси-сервер можно было использовать везде, где ожидается RealSubject.
  • RealSubject: определяет реальный объект, который представляет прокси-сервер.
public class Main {

    public static void main(String[] args) {
        Proxy proxy = new Proxy();
        proxy.request();
    }
}

public interface Subject {
    void request();
}

public class RealSubject implements Subject {

    @Override
    public void request() {
        System.out.println("Called RealSubject.Request()");
    }
}

public class Proxy implements Subject {

    private RealSubject realSubject;

    @Override
    public void request() {
        if (realSubject == null) {
            realSubject = new RealSubject();
        }
        realSubject.request();
    }
}
Called RealSubject.Request()

eidherjulian61/дизайн-шаблоны

Основные шаблоны Проектирования

ид – 27 сентября ・ 1 минута чтения

Оригинал: “https://dev.to/eidher/proxy-pattern-1aj1”