Estaba buscando algunas respuestas en SO o aquí, pero sin ningún resultado, es por eso que le preguntaría.
Supongamos que tengo dos proyectos diferentes, por ejemplo, parte del servidor y parte del cliente de una aplicación. Estoy desarrollando mi propia parte, mientras mi amigo está haciendo la segunda. Pero ambos deberíamos usar algunas interfaces comunes como User
o AccountInfo
o ChangableAccount
... lo que sea para garantizar una compatibilidad. Por ejemplo, si un cliente envía un dato de Usuario al servidor, entonces el servidor debe operar en la misma clase. Lo mismo con las interfaces, etc. Además, si hay algún cambio en una interfaz común, ambos proyectos deben ajustar su código a la nueva situación.
La única solución que puedo ver ahora es crear un proyecto adicional en el que se definan todas las cosas comunes. Nosotros, mi amigo y yo, deberíamos agregar este proyecto como una dependencia a un proyecto principal (cliente o servidor). El proyecto compartido puede ser administrado por algún sistema de control de versiones, por lo que siempre tenemos el estado más actualizado.
¿Qué otra solución sugerirías? ¿Cómo se resuelven estos problemas en las aplicaciones profesionales?