Ho un numero di applicazioni che condividono gli stessi dati nello stesso database. Per provare a minimizzare la ridondanza del codice, il Data Access Layer è un progetto condiviso. Ciò impedisce a ciascun progetto di dover ricodificare il proprio accesso ai dati, ma ciò crea anche un grande punto dolente. Quando un team ha bisogno di aggiornare il livello dati, tutti gli altri team devono effettuare il pull e testare le modifiche per assicurarsi che non abbiano rotto nulla e questo è un processo lento e doloroso.
Ho pensato l'idea di rimuovere lo strato di dati condivisi e solo per avere ogni squadra gestire il proprio livello di dati, ma il problema è tutte le squadre ancora accedere allo stesso database quindi se ci sono tabella cambia il punto di dolore è ancora lì perché ogni il team deve aggiornare il codice pertinente.
Quindi la mia domanda è, come avrei potuto progettare il nostro livello di dati e l'accesso in modo tale che molti progetti di essere guidati al largo della stessa origine dati, e ridurre al minimo il dolore di apportare modifiche al database o il livello di accesso?