Modifica del modello di comando

0

Immagina che mentre usi lo schema di comando, ho un bel po 'di comandi diversi (> 30), ora la maggior parte sono molto simili ma dipendono da una risposta dopo l'esecuzione (pensa ad un esempio di cena, come il cameriere che ha bisogno di feedback dall'ospite, se hanno ricevuto il pasto giusto).

Ora sostanzialmente potrei ridurre drasticamente il numero di comandi e ricevitori esternalizzando la logica aziendale associata alla risposta a un oggetto esterno, che il cliente imposta sulla creazione del comando e che verrà inoltrata alla risposta, il ricevente sta ottenendo. (scusa per quella frase)

Ora avrebbe senso, o dovrei piuttosto creare un diverso ricevitore e comando per ogni tipo di comando e impacchettare la logica aziendale, preoccupata della risposta generata, al loro interno.

Penso che un po 'di entrambi abbia senso in una certa misura, perché in sostanza quei comandi sono in realtà cose diverse e trattarli allo stesso modo è solo un'astrazione. Ma accoppiare la "logica di risposta" al comando e / o al suo ricevitore, oltre a inquinare l'applicazione con molte classi per lo più simili.

Quale sarebbe il modo più elegante (se esiste qualcosa di simile), per andare su questo?

    
posta meow 22.08.2017 - 21:01
fonte

1 risposta

2

Dovresti scegliere la soluzione che si traduce nella più semplice, piccola quantità di codice. Questo è probabilmente il design che avevate in mente, sebbene la sua espressione nella vostra domanda non sia completamente chiara. Dovresti scegliere la soluzione più semplice per le tue esigenze specifiche, a prescindere da qualsiasi raccomandazione di progettazione per scopi generici che ricevi.

Troppo spesso, le domande nella piattaforma di ingegneria del software richiedono soluzioni generiche a problemi specifici, piuttosto che soluzioni specifiche a problemi specifici. La soluzione più semplice sarà sempre specifica per il problema.

    
risposta data 23.08.2017 - 00:59
fonte

Leggi altre domande sui tag