На работе у нас есть программный проект C ++, основанный на Qt5.В настоящее время наш проект имеет 7 модулей.Каждый из них имеет свою роль.
Наша текущая проблема заключается в 2 конкретных модулях:
Сетевой модульделает все сети, создание сокетов, получение данных и так далее.Модуль Device - это хорошо, описание всех устройств, которые могут быть подключены к этой программе, а также их методы и способы манипулирования ими.
То, что мы не можем выяснить, - это лучший способ действий для зависимостей друг другапотому что нам нужен динамический список всех устройств.Эти устройства добавляются в этот список по специально созданному протоколу, который ловит сетевой модуль.Мои коллеги говорят, что в сетевом модуле должны быть перечислены все устройства, но я говорю, что в сетевом модуле нет никакого дела.Таким образом, в настоящее время у нас есть сетевой модуль в зависимости от устройства и модуль устройства в зависимости от сети.Мои идеи заключаются в следующем:
Создайте новый модуль, который обернет весь протокол и позволит сетевому модулю управлять только сетью низкого уровня, имея список обратных вызовов, которые могут бытьдобавлено, чтобы добавить указанные устройства в список в модуле «Устройство».
Соберите все в одном модуле, забудьте о мозговом штурме и получите огромную лужу кода, которая не можетбыть управляемым, ни проверенным хорошо.
Мне нужен здесь конкретный совет для решения, которое является долгосрочным и долговременным для обслуживания и тестирования кода как можно проще и без стресса.