К примеру есть система, которая взаимодействует с различными типами клиентов в разных состояниях. Соответственно для каждого типа клиента есть своя логика общения: получил то-то, сделал то-то/(соединился с тем-то по уже другому протоколу), ответил то-то.
Существуют ли универсальные (ну или условно универсальные) паттерны проектирования, ну или просто хоть какие-нибудь красивые приёмы реализации подобных вещей? В идеале желательно, чтобы модуль, который реализует транспортный уровень, не знал о конкретной логике общения, т.к. протоколы могут изменяться — т.е. чтобы сопровождение программы былоб не слишком гиморным.
Здравствуйте, nrgbi, Вы писали:
Например:
About Asynchronous Pluggable Protocols
Почитал. По заявлению похоже на то, что нужно. По реализации — больше похоже на chain of responsibility. В основном работа в качестве фильтра. К примеру, не понял, каким образом производить какие-то внешние действия (коннекты к другим системам на раличных стадиях протокола, например). Интересно вообще, как лучше спроектировать: чтобы класс протокола сам выполнял действия или просто сообщал бы вызывающему классу о том, какие действия он должен делать при очередном шаге.
Здравствуйте, wildwind, Вы писали:
W>Например: About Asynchronous Pluggable Protocols