Eu estava procurando por algumas respostas no SO ou aqui, mas sem resultados, é por isso que gostaria de perguntar.
Vamos supor que eu tenha dois projetos diferentes - por exemplo, parte do servidor e parte do cliente de um aplicativo. Estou desenvolvendo minha própria parte, enquanto meu amigo está fazendo a segunda. Mas nós dois devemos usar algumas interfaces comuns como User
ou AccountInfo
ou ChangableAccount
... o que for, a fim de garantir uma compatibilidade. Por exemplo, se um cliente envia dados do Usuário ao servidor, o servidor deve operar na mesma classe. O mesmo com as interfaces etc. Além disso, se houver alguma alteração em uma interface comum, os dois projetos devem ajustar seu código à nova situação.
A única solução que posso ver agora é criar um projeto extra no qual todas as coisas comuns sejam definidas. Nós, eu e meu amigo, devemos adicionar este projeto como uma dependência a um projeto principal (cliente ou servidor). O projeto compartilhado pode ser gerenciado por algum sistema de controle de versão, portanto, sempre temos o estado mais atualizado.
Que outra solução você sugeriria? Como esses problemas são resolvidos em aplicativos profissionais?