Ho già postato domande relative a questo problema, ma hanno affrontato tutti aspetti diversi del problema (solo per sapere che non sto ripubblicando la stessa domanda per ottenere più risposte).
Quindi, in poche parole, ecco il mio problema: ho una classe Timeline
, che ha una variabile membro dell'interfaccia% -a% co_de. La linea temporale gestisce QUANDO il contenuto viene attivato. Esiste anche una classe Content
, che ottiene un riferimento alla classe Trigger
e chiama i metodi Timeline
Timeline
in determinati momenti (come quando l'utente colpisce la barra spaziatrice). Per organizzare insieme play()
e Triggers
, vengono uniti insieme in una classe chiamata Timeline
(che è l'unica classe a cui interessa il resto del programma).
Questo mi porta a un problema di progettazione, dal momento che questa classe Cue
viene usata così spesso nel mio codice, sarebbe un problema cambiarla in seguito.
A causa della Legge di Demetra , non dovrei fare getter e setter per Cue
e timeline
variabili membro, e invece copia molte delle loro funzioni in triggers
(e chiama a turno le funzioni delle variabili membro). In questo modo, le altre classi non conosceranno il funzionamento interno di esso?