Ad esempio, supponiamo di avere un servizio che avvia alcune operazioni, come l'esecuzione di un cron-job. Quindi, restituisce se non ha avuto successo.
Il codice potrebbe essere simile a
var service = new MetricSyncWakeJob(...);
var jobStarted = service.performSyncJob();
if(jobStarted) {
notificationService.notifySuccess("Operation was successful.");
} else {
notificationService.notifySuccess("Operation was NOT a success.");
}
Vale la pena di avvolgere questo codice o qualcosa simile a un'astrazione avida? Se sì, come faresti questo? Che lavoro di Facade
lavora qui?
vale: UserInteractiveMetricSyncWakeJob
che può dare il via al lavoro e sparare automaticamente il messaggio?
Non è compito del servizio dare il via a questo messaggio, altrimenti potrebbe essere messo lì. Immagino che la classe potrebbe assomigliare a questo ...
class UserInteractiveMetricSyncWakeJob
UserInteractiveMetricSyncWakeJob(INotificationService notifcationService, MetricSyncWakeJob wakeJob)
Sembra eccessivo farlo, tuttavia, copia e amplifica incollare lo stesso codice "gestisci questa risposta" sembra essere un problema.