Ho un set di servizi che sono usati per leggere / scrivere nel database. Questi vengono iniettati nei miei controller:
ISystemSettingService _systemSettingService = null;
IStatusTypeService _statusTypeservice = null;
public MyController(
ISystemSettingService systemSettingService,
IStatusTypeService statusTypeservice)
{
_systemSettingService = systemSettingService;
_statusTypeservice = statusTypeservice;
}
Quindi quando ho bisogno di qualcosa da _systemSettingService
posso facilmente ottenerlo. Ora ho anche alcune classi / funzioni helper statiche che chiamo da MyController
. In queste funzioni ho spesso bisogno di accedere ai servizi in modo da poter accedere al DB. per esempio. Ho una funzione Validate(string userData, ISystemSettingService systemSettingService)
che accetta alcuni dati trasmessi dall'utente.
Finora, nella funzione Validate
ho passato il _systemSettingService
così posso usarlo. Non sono sicuro che sia corretto.
La mia domanda - il mio approccio è corretto o, nella funzione Validate
dovrei creare un contenitore di unità in Resolve
un'istanza del mio ISystemSettingService
o, come ho letto in precedenza, la mia classe helper NON dovrebbe essere statico, e dovrei iniettare ISystemSettingService
nel costruttore che apparentemente renderà più semplice il test delle unità.
Sono un po 'confuso! Grazie.