Vitor_Silva Ответов: 1

Как построить коммуникацию объектов между 2-мя программными средствами (так называемая B2B - коммуникация)?


Существует 1-й софт (s1), который генерирует данные, а затем есть одно или несколько программных средств (s2, s3), которые будут получать эти данные(объекты) на основе предварительно настроенных действий, определяющих тип передаваемых данных.
Промежуточное программное обеспечение (api) должно получить данные из s1 и преобразовать их в структуру s2 или s3 в зависимости от конфигурации. Дело в том, что во время преобразования есть некоторые проверки, которые зависят от места назначения (s2 или s3) данных. Цель состоит в том, чтобы поддерживать широкий спектр целевого программного обеспечения.
Шаблон адаптера, по-видимому, является лучшим способом повторного использования как можно большего количества кода для различных действий или назначений, но я боюсь, что управление им в будущем может быть еще более сложным и сложным. Есть ли какой-нибудь другой подход, который облегчает реализацию или удержание как можно более отдельных частей? что я упускаю?

PS: я унаследовал текущий api, но я пытаюсь убедить своих коллег рефактировать его, и мне нужны некоторые аргументы, лучшие примеры,

Спасибо Вам за вашу помощь!

Что я уже пробовал:

До сих пор я использовал интерфейсы, которые производили преобразователь (s1 или s2), с фабрикой экземпляров, которая возвращает
правильный экземпляр текущей конфигурации.
Overal with, по-видимому, делает свое дело , но его нелегко поддерживать различными действиями(типом данных объекта), так как он нуждается в методе для каждого преобразования типа объекта в каждом из нескольких классов назначения.
Кроме того, когда параметр изменяется, я вынужден обновлять интерфейс и все другие методы, которые его применяют.
Это кажется довольно трудоемким для поддержания в будущем.

1 Ответов

Рейтинг:
0

Vitor_Silva

Поэтому в погоне за лучшей поддерживаемой архитектурой я запускаю некоторые тесты с паттерном стратегии, таким образом, я могу разработать кучу стратегий, основанных на паре sw1/datatype, но если я реализую с некоторой hirearchy, я могу отделить выбор типа данных и выбор назначения. Хотя конкретная реализация должна быть отделена друг от друга, она не сильно связана... Плз оставляйте свои комментарии