Recentemente ho letto link che ha discusso di nuovi vs oggetti iniettabili.
Cosa faresti se avessi bisogno di creare un Callable
che parli con un servizio, ma ha anche bisogno di valori nuovi?
Ad esempio, dire che ho del codice che deve parlare con un repository di subversion e ottenere informazioni su un target.
Quindi ho un SvnService
che parla con il repository e ha un metodo simile
SvnInfo getInfo(URL fileUrl)
.
Il metodo getInfo
deve essere eseguito dal metodo call di un Callable per eseguirlo in un altro thread o qualche altro motivo.
Quindi abbiamo
class GetInfoCommand implements Callable
{
GetInfoCommand(SvnService service, URL fileUrl)
…
}
Non vedo alcun altro modo per aggirare questo problema. Esiste un design alternativo o un altro modo per gestire Callables e / o callback / gestori di eventi per rendere il codice SOLID e facilmente verificabile?