Распределенные компоненты и управление версиями классов - PullRequest
0 голосов
/ 26 января 2012

У нас есть распределенная система, в которой два компонента: A и B, связываются друг с другом, посылая друг другу некоторый транспортный объект, который является очень большим и сложным. В настоящее время объект просто сериализуется в провод A и читается B.

Теперь мы должны поддержать сценарий, в котором версия B продвигается, в то время как версия A остается той же, что означает, что B должен иметь возможности управления версиями, чтобы иметь возможность обрабатывать более старые версии объекта связи.

Каковы общие способы сделать это? (Мы используем Java)

1 Ответ

0 голосов
/ 26 января 2012

У вас могут быть разные версии метода - та, которая использует старую версию и которую A использует.

Этот метод также может выступать в качестве переводчика в новую версию ( защита от коррупциислой , если хотите) и использовать новый метод, который должны использовать все новые клиенты.

По сути, ваш B должен быть в состоянии прочитать обе версии - внутренне лучший способ - это перевод старойверните новую версию и используйте ее в кодовой базе B.

...