2008-10-14 16 views
17

A menudo, varias aplicaciones comparten una gran base de código de bibliotecas que cambian a menudo en el desarrollo. En estos casos, prefiero crear una solución con el nombre del conjunto e incluir proyectos separados para cada aplicación y las bibliotecas compartidas.Solución: por aplicación o por conjunto de aplicaciones

¿Es este un buen enfoque? ¿Cómo estructuran otros sus bases de código para cosas como un conjunto de aplicaciones?

Respuesta

26

Realmente depende de las necesidades particulares de su organización. MSDN tiene una good page que pasa a través de los diversos diseños solución recomendada, incluyendo:

  1. El modelo individual de la solución (preferido) modelo
  2. La única solución con particiones
  3. El modelo multi-solución (sólo si es estrictamente necesario)

El MSDN page también analiza los pros y los contras de cada modelo con más detalle para que pueda decidir cuál tiene sentido para usted. :)

En general, para un conjunto de aplicaciones como usted describe, consideraría el modelo de solución única y particionada. Hay una única solución maestra que construye todo, y una serie de soluciones separadas para cada aplicación individual dentro del conjunto (suponiendo que las aplicaciones sean de un tamaño apreciable).

Si las aplicaciones del conjunto de aplicaciones son pequeñas y se crean rápidamente (por ejemplo, un conjunto de herramientas de línea de comandos), es posible que ni siquiera genere los archivos de solución por separado. Esa es realmente una decisión que no podemos hacer por usted. :)

5

La estructura real de su (s) solución (es) realmente depende del flujo de trabajo interno. Tener un enfoque everyone-refactors-everything muy ágil apuntaría hacia una solución con muchos proyectos. Si su tienda tiene un dedicado equipo de la biblioteca equipos y diversas aplicaciones, que hacen comunicados internos regulares, a continuación, soluciones separadas podrían ayudar a través de desacoplamiento más fuerte, y la reducción de los tiempos de construcción .

+2

O haga un poco de ambas cosas ... Registre solo un .sln maestro en el control de origen (para que su servidor de compilación y sus desarrolladores lo saquen regularmente y compile continuamente) y luego cada desarrollador puede construir libremente su propio (soluciones orientadas a tareas potencialmente transitorias/desechables? – rohancragg

+0

@rohancragg: +1 para "O hacer un poco de ambas cosas". No es una propuesta mutuamente excluyente. – J0e3gan

Cuestiones relacionadas