consiglia un modello di progettazione per un'applicazione C ++ che prende alcuni dati, li elabora e restituisce risultati

-4

Quindi sono nuovo per progettare modelli e C ++ 11, ma ho studiato entrambi un po '. Sto lavorando allo sviluppo di un'applicazione C ++ per elaborare alcuni dati, e speravo che qualcuno con più esperienza potesse dirmi se sono sulla strada giusta.

Quindi l'applicazione avrà una grande matrice di dati 2-D. Poi c'è qualche pre-elaborazione prima di passare i dati a un oggetto che elaborerà i dati. Infine, i risultati dell'elaborazione devono essere post-elaborati per impostare diversi tipi di grafici e informazioni di riepilogo.

Quindi, studiando gli schemi di progettazione, ho visto che usare il modello di comando o il modello di strategia poteva essere una buona idea. Ma allo stesso tempo, sembra che dovrei usare il Composito come un modo per legare insieme la preelaborazione, l'elaborazione e l'elaborazione dei post. Ma ero preoccupato che legare insieme 3 oggetti in un composito potesse creare un oggetto molto grande, il che significa che violerei le regole sul tipo di separazione delle preoccupazioni.

Il motivo per cui voglio utilizzare un modello di progettazione è perché voglio un modo flessibile per aggiungere all'elaborazione nuovi tipi di preelaborazione, elaborazione e catene di post-elaborazione. Quindi se oggi produco una serie di grafici dall'analisi, domani potrebbe esserci un nuovo grafico che qualcuno vuole. Avrei quindi bisogno di un modo per aggiungere nuovi tipi di richieste o catene di elaborazione, senza entrare e rompere gli oggetti esistenti, il che vanifica lo scopo del design OOP.

Qualsiasi suggerimento sul design sarebbe apprezzato.

Modifica Nota, questa domanda è distinta da: Scelta del modello di progettazione corretto

Le domande di riferimento sono domande generali sugli approcci di progettazione del software. Le domande che pongo richiedono una specifica raccomandazione di progettazione basata su una serie di requisiti.

    
posta krishnab 24.04.2017 - 02:43
fonte

2 risposte

2

Sembra un lavoro per il modello Chain-of-responsibility ( link ). Permette l'accoppiamento lento in modo da non dover usare la composizione.

    
risposta data 24.04.2017 - 03:07
fonte
4

Penso che quello che stai cercando sia un'architettura software appropriata piuttosto che uno schema di progettazione.

Nel tuo caso, penso che sarà utile studiare architettura del flusso di dati e utilizzarlo nella tua situazione specifica.

Vedo i seguenti distinti tipi di componenti nella tua architettura.

  1. Origine dati
  2. Pre-processore
  3. Processore
  4. Post-processor
  5. Data sink

La più semplice istanziazione dell'architettura consisterà in:

Unaistanziazioneleggermentepiùcomplessadell'architetturapuòconsisterein:

    
risposta data 24.04.2017 - 08:21
fonte

Leggi altre domande sui tag