Я сейчас работаю над продуктом C ++. Он был разработан, чтобы иметь достаточную гибкость и становился все больше и больше. Теперь мы планируем сотрудничать в проекте, в который мы хотели бы добавить части продукта: некоторые части в виде исходного кода, некоторые части в качестве статических библиотек ссылок, а некоторые нет вовсе.
Я хотел бы сохранить одну версию каждого исходного файла, который используется в обоих проектах, и избегать разветвления всего этого и т. Д. Поэтому мне было интересно, что мне нужно, чтобы иметь возможность иметь "полный продукт" внутри со всеми файлами и также иметь возможность извлекать часть этих файлов (время от времени) и передавать это подмножество как рабочий блок другим. (Я предполагаю, что мы можем гарантировать, что эти файлы не будут изменены в проекте сотрудничества, мы только добавим туда материал.)
Думаю, мне нужно
- программная архитектура, которая слабо связана, так что части могут быть удалены без разрушения системы. Я думаю, что термин «статический» плагин здесь уместен, потому что я думаю, что я могу учиться на системах плагинов, но мне не нужно иметь возможность загружать их динамически, они могут быть связаны / построены статическим способом. Я надеюсь, что это может заставить меня и моих коллег расширить систему, добавив какой-нибудь плагин вместо того, чтобы вставлять классы тут и там, вводя связь между вещами.
- система сборки, которая помогает мне выбирать плагины для сборки и «выпускать» новые подмножества, извлекая только то, что мне нужно.
Существуют ли интернет-ресурсы, которые могут помочь. Какие ключевые слова для поиска?
Есть ли у вас какие-либо предложения о том, как справиться с этим?