Подскажите паттерн для кода
От: Pavel__  
Дата: 24.11.22 12:17
Оценка:
Добрый день!
Уже несколько раз сталкиваюсь с абстрактно одинаковыми задачами решаемыми в разных проектах.
Есть какой-то один(или несколько) источник(-ов) данных(СУБД, файлы, tcp/ip, message broker,...), иногда они распределены на разных потоках/процессах/машинах по сети.
Есть что-то преобразующее эти данные: иногда распределенное на разных потоках/процессах/машинах, иногда нет.
Результат также нужно выдать иногда целиком, иногда по частям, иногда разным абонентам на разных потоках/процессах/машинах.

Пример: диагностика. Есть список тестов их нужно выполнить распределив по разным вычислителям, потом собрать результат и сделать отчет.

Такого "одинакового кода" для разных реализаций/применений/функционала у нас в канторе, полно.
Проблема в том что постоянно появляется необходимость реализовывать какие-то фичи, они идут как костыли в проекте на моменте потому что что-то срочно нужно проверить.
Потом про них успешно забывают, потом появляется необходимость в подобных костылях в других проектах и опять оврал, опять костыли которые потом будут забыты...
Сейчас всё это реализовано монолитно в разных больших проектах на Phyton, QT C++ в ОС linux.

Задумываюсь о том чтобы сделать какие-то облачные микросервисы на базе QT5.X и C++17 так чтобы алгоритмы максимально вынести туда, а приложения просто обращались бы с запросами о выполнении тех или иных задач и могли бы распределено получать результат. Рассчитываю таким образом получить гибкие решения в которые можно будет внедрять изменения не ломая другие проекты. Есть ли подобные паттерны/реализации/решения чтобы не городить велосипед?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.