Ho varie interfacce che devo implementare. Supponiamo ITypeA, ITypeB. Hanno i seguenti metodi:
ITypeA
Connect
Disconnect
GetData
SetData
ClearData
ITypeB
Connect
Disconnect
GetData
SetData
Start
Pause
Stop
Hanno alcune funzionalità di base: Connect
, Disconnect
, GetData
e SetData
. Se voglio aggiungere ITypeC in futuro, avrà anche queste funzionalità di base.
Voglio accedere alle funzionalità di base e se c'è una funzionalità aggiuntiva, voglio ottenere anche questo. Quali modelli di design sono disponibili che sono in grado di queste situazioni?
Ne ho trovato uno qui: Interfaccia di estensione . In questo, si crea un'interfaccia di base e più interfacce di estensione che implementano le funzioni aggiuntive. Nell'interfaccia di base è possibile chiedere le interfacce di estensione disponibili del componente. Ma questo approccio sembra complicato: devo creare interfacce per ogni tipo, fabbriche per le interfacce, ho bisogno di alcune tabelle per salvare ciò che Interface appartiene a quello Factory ...
Qual è la soluzione di base per questo problema? Interfacce di estensione? Ci sono altre alternative possibili per il mio problema?