La tâche consiste à configurer un élément matériel au sein de l'appareil, selon certaines spécifications d'entrée. Ceci devrait être réalisé comme suit:
1) Collectez les informations de configuration. Cela peut se produire à différents moments et à différents endroits. Par exemple, le module A et le module B peuvent tous deux demander (à des moments différents) des ressources à mon module. Ces «ressources» sont en fait ce qu'est la configuration.
2) Une fois qu'il est clair qu'aucune autre requête ne sera réalisée, une commande de démarrage, donnant un résumé des ressources demandées, doit être envoyée au matériel.
3) Ce n'est qu'après cela que la configuration détaillée desdites ressources peut (et doit) être effectuée.
4) Aussi, seulement après 2), le routage des ressources sélectionnées vers les appelants déclarés peut (et doit) être effectué.
Une cause fréquente de bugs, même pour moi, qui ai écrit la chose, est de confondre cet ordre. Quelles conventions de dénomination, conceptions ou mécanismes puis-je utiliser pour rendre l'interface utilisable par quelqu'un qui voit le code pour la première fois?
discovery
ouhandshake
?