Persistenza di un aggregato singolarmente o nel suo complesso su un'API

-3

Diciamo che sto costruendo un gioco a quiz in cui gli utenti possono creare giochi con esattamente 5 domande e 4 opzioni (giochi, domande e opzioni hanno le loro tabelle di database) per ogni domanda e presumo che io stia usando un front-end MVC e un'API back-end.

Ho sempre avuto questo dilemma su come dovrebbe essere progettata l'API.

Dovrei:

  1. hanno singole API per giochi, domande e opzioni
  2. mantieni il gioco come un aggregato di dettagli del gioco, domande e opzioni e lascia che il backend lo riceva nel suo insieme

Lo svantaggio di 1. è che quando creo un nuovo gioco dovrò fare tantissime chiamate API per configurare tutte le domande del gioco e le loro opzioni. Tuttavia, quando aggiorni il gioco o una delle sue domande, è una semplice chiamata all'API di aggiornamento per ogni risorsa con cui abbiamo a che fare.

Il vantaggio di 2. è che la configurazione iniziale è una singola chiamata API. Lo svantaggio diventa evidente quando si aggiorna il database: il backend deve ripetere tutte tutte le domande e le opzioni ancora, anche se è solo una singola domanda che deve essere aggiornata.

Mi mancano altri aspetti di queste due decisioni di progettazione?

    
posta stevanity 07.03.2018 - 12:34
fonte

1 risposta

2

Ciò che stai sostenendo è che devi progettare il tuo sistema per essere configurato solo con molte chiamate API che apportano piccole modifiche o lo configurano tutte insieme con una grande modifica. La verità è che puoi fare entrambe le cose.

In realtà l'idea convenzione sulla configurazione dice che dovresti iniziare con una grande modifica da utilizzare come predefinita e apportare piccole modifiche per personalizzare.

    
risposta data 07.03.2018 - 13:37
fonte

Leggi altre domande sui tag