Vale la pena di incapsulare i messaggi mostrati a un utente da un'operazione ripetuta?

1

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.

    
posta Vaughan Hilts 24.01.2017 - 02:38
fonte

1 risposta

1

Il metodo più semplice che posso pensare (a seconda del linguaggio che usi) sarebbe quello di impostare una classe con una variabile di mappa statica come atrribute, puoi quindi chiamare memorizzare il tuo messaggio di errore e qualsiasi altra stringa riutilizzata come valore e un codice abbreviato per la chiave. Quindi ogni volta che richiedi quel messaggio di errore puoi accedervi tramite la mappa. Questo ha l'ulteriore vantaggio che se vuoi riformulare il messaggio di errore o avere messaggi alternativi puoi facilmente apportare tali modifiche.

    
risposta data 24.01.2017 - 14:46
fonte

Leggi altre domande sui tag