Ho un componente che deve chiamare un servizio specifico a seconda dell'ingresso che riceve. Quindi il mio componente deve guardare l'input e basato su una configurazione che dice "per questo ingresso chiama questo servizio con questi dati" ha bisogno di chiamare il servizio appropriato. I servizi hanno un metodo di firma comune e uno specifico (ciascuno).Esiste uno schema di progettazione per questo?
Ho pensato a una classe astratta che include le firme per tutti e tre i metodi. L'implementazione per i due servizi annullerà tutti e tre i metodi (lancio di NotImplementedException
per i metodi che non sono supportati dal servizio corrente). Verrà inoltre definito un componente che può essere inizializzato con una mappa (che per ciascun tipo di input avrà il tipo di servizio da chiamare).
Avete un approccio migliore per far fronte a questo scenario?
Ho pensato (taggato) al DP di fabbrica, ma in questo caso deve essere combinato con qualche altro modello, in modo da essere "configurabile". Stavo chiedendo un approccio esistente in questo modo. – ytrewq
Inoltre, questo potrebbe essere associato al modello di pool Singleton o Object – ytrewq
Il pattern di facciata o adattatore potrebbe essere degno di essere preso in considerazione per consentire alcune configurazioni che penserei. –