Какова подходящая терминология в Java при создании удаленных прокси?

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

На удаленном сервере есть мой реальный объект, есть локальная реализация (сам прокси-сервер), и есть интерфейс, который я предоставляю своей программе, который скрывает детали того, где на самом деле находится объект. Локальное представление может связываться с локальной или удаленной реализацией объекта.

Какова стандартная терминология в Java для этих вещей? Как мне назвать мои интерфейсы / классы?

Я видел термины "Предметы", "Изображения" и "Реализации" (вероятно, из дней GOF), но мне интересно, какой приемлемый способ сделать именование для среды, написанной на Java.

2 ответа

Решение

Поскольку удаленное взаимодействие обычно влечет за собой какой-то сервис, такой как вызов, я обычно использую интерфейс сервиса, удаленный прокси и реализацию сервиса. Поскольку реализация определяется во время выполнения (прокси или реализация), все кодирование выполняется для интерфейса службы, поскольку это единственный открытый API.

Spring Remoting делает это очень простым, мы широко используем его для предоставления удаленных прокси по HTTP, EJB и JMS для одних и тех же сервисов. Также делает тестирование без какого-либо прокси тривиальным. Мы можем запускать те же тесты для модульных тестов непосредственно для реализации, а также для интеграционных тестов на сервере.

Возможно, вы захотите использовать ту же терминологию, что и RMI, даже если вы решили не использовать RMI. например: заглушки, скелеты, реестры, серверы...

Другие вопросы по тегам