Je travaille actuellement sur un produit C++. Il a été conçu pour avoir une bonne flexibilité et a grandi de plus en plus. Maintenant, nous prévoyons de coopérer dans un projet où nous voudrions contribuer des parties du produit: certaines parties comme code source, certaines parties comme bibliothèques de liens statiques, certaines parties pas du tout. Je voudrais garder une version de chaque fichier source qui est utilisé dans les deux projets et éviter de ramifier le tout etc. Je me demandais donc ce dont j'avais besoin pour avoir le "produit complet" en interne avec tous les fichiers et aussi être capable d'extraire une partie de ces fichiers (de temps en temps) et passer ce sous-ensemble comme une unité de travail à d'autres. (Je suppose que nous pouvons faire en sorte que ces fichiers ne sont pas modifiés dans le projet de coopération, nous n'ajouter des choses là-bas.)Système "plugin statique" (via build system) en C++
Je suppose que je dois
- une architecture logicielle qui est couplé de façon lâche de sorte que les parties peuvent être retiré sans casser le système. Je pense que le terme "statique" plugin est approprié ici parce que je pense que je peux apprendre des systèmes de plugin, mais je n'ai pas besoin d'avoir la capacité de les charger dynamiquement, ils peuvent être liés/construit de manière statique. J'espère que cela pourrait forcer mes collègues et moi à étendre le système en ajoutant une sorte de plugin au lieu d'insérer des classes ici et là, en introduisant un couplage entre les choses.
- un système de construction qui me supporte avec la sélection des plugins pour construire et "libérer" de nouveaux sous-ensembles en extrayant seulement ce dont j'ai besoin.
Existe-t-il des ressources Internet pouvant vous aider? Quels sont les mots-clés à rechercher?
Avez-vous des suggestions pour gérer cela?