Quale potrebbe essere il design migliore in c # per i seguenti requisiti? [chiuso]

1

Sto lavorando alla creazione di un disegno c # per il seguente requisito. Sto creando questo per un sito web di fitness.

Ho un articolo (come testo) e un esercizio (come immagine o video) come entità di base. Ora ho allenamenti , entità media (un allenamento è fondamentalmente un insieme di esercizi o articoli da eseguire in modo istruito, avrà 2 o più di 2 entità di base per effettuare l'allenamento) sopra queste due entità.

Successivamente ho routine , entità superiore (una routine è fondamentalmente composta da due o più allenamenti alla volta). Una routine può durare per giorni, settimane, mesi o anni (se fornita).

Ora stavo pensando a composite pattern di progettazione da implementare nella mia applicazione ma non sono sicuro.

Un piccolo sguardo al design del database per aiutare con il design c #.

Il design del mio database sarebbe simile a questo , controlla l'immagine in risposta.

Anche un piccolo esempio mi aiuterebbe.

Sto cercando un design che possa essere d'aiuto nello sviluppo di un'applicazione complessa (eventualmente prima o poi lo diventerà.) con facilità ed inoltre è flessibile e scalabile.

Il flusso di lavoro della mia applicazione è semplice, il primo utente aggiunge l'entità di base quindi l'entità media e quindi crea l'entità superiore.

    
posta lokopi 20.03.2016 - 08:36
fonte

1 risposta

0

Il modello di design composito sembra a prima vista una scelta naturale, perché la struttura gerarchica. Tuttavia , l'obiettivo del modello composito consiste nel gestire in modo uniforme le foglie e i componenti. Inoltre, in un composito, le foglie (articoli ed esercizi) possono essere trovate a qualsiasi livello dell'albero mentre nella tua struttura dovrebbero trovarsi in fondo:

Quindi,questaideapotrebbenonesserecosìbuona,dopotutto!Èpreferibileutilizzareunmodellodicomposizionetradizionaleperlatuagerarchialimitatadiprofonditàfissaeclassiomogeneeaunlivello.Nonc'èbisognodischemistrutturalispecialiqui.

Unmodellochepotrebbeaiutarti,credo,èil modello di visitatore . È comportamentale e rappresenta operazioni eseguite su una struttura complessa, gestendo in modo appropriato ogni tipo di oggetto rilevato. Questo può essere usato per salvare la struttura, per creare report e accumulare valori dall'alto verso il basso, ecc ...

Ecco un esempio per composito , nel caso lo desideri ancora. E qui l' esempio di visitatore

    
risposta data 21.03.2016 - 00:16
fonte

Leggi altre domande sui tag