Stavo cercando alcune risposte in SO o qui, ma senza risultati, è per questo che ti chiederei.
Supponiamo di avere due progetti diversi, ad esempio parte server e parte client di un'app. Sto sviluppando la mia parte, mentre il mio amico sta facendo il secondo. Ma entrambi dovremmo usare alcune interfacce comuni come User
o AccountInfo
o ChangableAccount
... qualsiasi cosa al fine di garantire una compatibilità. Ad esempio, se un client invia un dato utente al server, il server dovrebbe operare sulla stessa classe. Lo stesso con le interfacce, ecc. Inoltre, se ci sono cambiamenti in un'interfaccia comune, entrambi i progetti dovrebbero adattare il proprio codice alla nuova situazione.
L'unica soluzione che riesco a vedere ora è creare un progetto in più in cui siano definite tutte le cose comuni. Noi, io e il mio amico, dovremmo aggiungere questo progetto come dipendenza da un progetto principale (client o server). Il progetto condiviso può essere gestito da qualche sistema di controllo della versione, quindi abbiamo sempre lo stato più aggiornato.
Quale altra soluzione suggeriresti? In che modo tali problemi vengono risolti nelle app professionali?