Il compito è configurare un componente hardware all'interno del dispositivo, secondo alcune specifiche di input. Ciò dovrebbe essere ottenuto come segue:
1) Raccogliere le informazioni di configurazione. Questo può accadere in tempi e luoghi diversi. Ad esempio, il modulo A e il modulo B possono entrambi richiedere (in momenti diversi) alcune risorse dal mio modulo. Quelle "risorse" sono in realtà la configurazione.
2) Dopo che è chiaro che non saranno più realizzate richieste, un comando di avvio, che fornisce un riepilogo delle risorse richieste, deve essere inviato all'hardware.
3) Solo successivamente è possibile (e deve) eseguire una configurazione dettagliata di tali risorse.
4) Inoltre, solo dopo 2), è possibile (e necessario) instradare le risorse selezionate ai chiamanti dichiarati.
Una causa comune di bug, anche per me, che ho scritto la cosa, sta confondendo questo ordine. Quali convenzioni, design o meccanismi di denominazione posso utilizzare per rendere l'interfaccia utilizzabile da qualcuno che vede il codice per la prima volta?
discovery
ohandshake
?