Ci scusiamo per il lungo titolo un po 'poco chiaro, non potremmo pensare a come esprimere il problema che sto avendo. Quindi, in pratica, ho una struttura del pacchetto con due alternative ragionevoli (per quanto posso vedere), ma entrambe implicano una ripetizione al secondo livello.
Ad esempio, i miei pacchetti di primo livello potrebbero includere tcp
e bluetooth
e quindi ognuno di questi avrebbe bisogno di un pacchetto secondario sink
e source
; in alternativa sinks
e sources
potrebbero essere pacchetti di primo livello e ognuno di questi ha un sottoprogetto tcp
e bluetooth
. Il modo in cui ho iniziato originariamente era il primo esempio, ma ora ho bisogno di un'interfaccia source
e sink
per la riusabilità, il che sarebbe strano inserire solo in un sottoprogetto e importare da, diciamo, tcp
in %codice%; tuttavia avere una copia in ciascuno sarebbe una pratica abbastanza terribile, sono sicuro che tutti sarebbero d'accordo!
Un'ulteriore complicazione è rappresentata dal fatto che fonti e sink nel mio progetto non verranno consegnati esclusivamente alle tecnologie di connessione, in quanto un dispositivo di riproduzione locale viene anche considerato come un sink per una classe che invia i dati.