Stiamo lavorando su un sistema di reporting che ha una chiara scrittura e un percorso di lettura. Ad esempio, le scritture si verificano solo dopo aver consumato eventi da una coda e le letture si verificano solo quando vengono pubblicate richieste da un'API. Probabilmente le responsabilità non si mescoleranno, vale a dire che la scrittura del servizio nel DB non utilizzerà le query utilizzate dall'API e viceversa.
Il codice è molto lungo (causa java) e potrebbe essere fonte di confusione per una nuova persona. Stavo pensando di separare il DB in due classi, ReportingIngestDBClient vs ReportingReadDBClient non sposato con i nomi.
Mi stavo chiedendo:
-
1) Qualcuno ha seguito questo schema? Ha reso le cose più o meno chiare? Se sì, quali nomi hai usato?
-
2) Se non hai seguito lo schema di creazione di 2 oggetti separati per gestire query diverse, hai un'opinione strong contro di esso e perché?