Модульная архитектура на основе локатора сервисов для рефакторинга монолитной нативной программной системы
Аннотация
Монолитные нативные программные системы, отличающиеся высокой связностью компонентов и зависимостью от проприетарных технологий, создают значительные трудности при модернизации и переходе на новые платформы. Данная работа посвящена разработке подхода к инкрементальному рефакторингу такой системы, обеспечивающего слабую связность и кроссплатформенность. Предложенное решение основано на использовании локатора сервисов и генерации программного кода для создания модульных компонентов с чёткими интерфейсами. Предлагаемая архитектурная реализация локатора сервисов использует принципы разделения ответственности и инверсии управления, комбинирует паттерны объектно-ориентированного программирования, обеспечивая безопасность типов времени выполнения, а также корректность управления временем жизни объектов и последовательности их инициализации. Подход поддерживает три цели: добавление новых функций, уменьшение технического долга и миграцию на новые инструменты и платформы для снижения зависимости от поставщиков. Разработанная архитектура позволяет проводить рефакторинг без остановки разработки, упрощая интеграцию и снижая риски. Эмпирическая проверка на реальном кейсе миграции программного обеспечения со стека технологий Embarcadero (Borland) С++ Builder и VCL на Microsoft Visual Studio и Qt с дальнейшим портированием на операционную систему Linux подтвердила применимость решения, которое может быть использовано для других систем с аналогичными ограничениями.

Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.
Редакционная политика журнала основывается на традиционных этических принципах российской научной периодики и строится с учетом этических норм работы редакторов и издателей, закрепленных в Кодексе поведения и руководящих принципах наилучшей практики для редактора журнала (Code of Conduct and Best Practice Guidelines for Journal Editors) и Кодексе поведения для издателя журнала (Code of Conduct for Journal Publishers), разработанных Комитетом по публикационной этике - Committee on Publication Ethics (COPE). В процессе издательской деятельности редколлегия журнала руководствуется международными правилами охраны авторского права, нормами действующего законодательства РФ, международными издательскими стандартами и обязательной ссылке на первоисточник.
Журнал позволяет авторам сохранять авторское право без ограничений. Журнал позволяет авторам сохранить права на публикацию без ограничений.
Издательская политика в области авторского права и архивирования определяются «зеленым цветом» в базе данных SHERPA/RoMEO.
Все статьи распространяются на условиях лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная, которая позволяет другим использовать, распространять, дополнять эту работу с обязательной ссылкой на оригинальную работу и публикацию в этом журналe.