Использование заглушки для конкретной версии - PullRequest
1 голос
/ 25 октября 2011

Мой проект основан на взаимодействии клиента и сервера, в котором в разных местах могут присутствовать разные версии сервера.Клиент, основанный на номере версии ближайшего сервера, использует специальный файл-заглушку для связи с ним.

Теперь, во время написания кода, в каждом месте, где я использую заглушку, я должен проверить, какая версия серверанастоящее.Это кажется очень неэффективным, потому что в коде есть много мест, где я должен проверить версию заглушки.

Ограничение состоит в том, что вокруг клиента присутствует ровно один сервер.И как только клиент запустится, сервер, с которым он будет общаться, не изменится.Для связи мы используем Jax RPC.

Есть предложения по улучшению дизайна?

1 Ответ

1 голос
/ 26 октября 2011

Может ли здесь помочь внедрение зависимостей? Изолируйте всю логику, специфичную для каждой версии сервера, на отдельные классы и используйте инструмент, такой как Google Guice , чтобы организовать все классы вашей конкретной версии сервера в свои собственные модули (т. Е. Один модуль на версию сервера). Затем в начале потребуется только одна проверка, чтобы увидеть, какой модуль загрузить.

...