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?