¿Hay algún proyecto de código abierto que use DDD (diseño impulsado por dominio)? [cerrado]
-
02-07-2019 - |
Pregunta
Estoy tratando de entender los conceptos detrás de DDD, pero me resulta difícil de entender simplemente leyendo libros, ya que tienden a discutir el tema de una manera bastante abstracta. Me gustaría ver algunas buenas implementaciones de DDD en el código, preferiblemente en C #.
¿Hay buenos ejemplos de proyectos que practican DDD en el mundo de código abierto?
Solución
Eric Evans y una compañía consultora sueca han lanzado una aplicación de ejemplo basada en el ejemplo de envío que Eric usa a lo largo del libro. Está en Java, pero los conceptos están bien documentados en la página del proyecto.
http://dddsample.sourceforge.net/
Sin embargo, tenga en cuenta que DDD es más sobre el viaje que sobre el destino. Comprenda que el código de muestra que está buscando tomó muchas formas antes de que se convirtiera en lo que ve ahora. No vio los modelos incómodos que se usaron inicialmente y se están perdiendo los pasos dados para refactorizar el modelo en función de la información obtenida a lo largo del camino. Si bien los bloques de construcción son importantes en la DDD, Eric cree que están demasiado enfatizados, así que tome todas las muestras con un grano de sal.
Otros consejos
No estoy seguro de lo completo que está, pero encontré el Ejemplo de NDDD en el código de Google.
Me sorprende que nadie mencione Macto , muestra de DDD de Ayende. Lo más importante de Macto es que el proceso de pensar en el agujero antes de la codificación real se presenta en una serie de publicaciones . DDD no se trata de implementar un modelo, se trata de modelar un dominio empresarial. Decisiones como " algún concepto es un objeto de raíz / entidad / valor agregado " son mucho más importantes que la forma en que se persistirá un RA.
También recomendaría los videos de Udi Dahan sobre SOA y CQRS que podrían proporcionar un mejor contexto en el que aplicar DDD.
Este no es un proyecto de código abierto, pero sigue siendo un ejemplo en el código: http: // www. codeplex.com/dddpds
El ejemplo se usa en el libro .NET Dominado por Diseño de Dominio con C #: Problema-Diseño-Solución
Un ejemplo inventado que parece prometedor pero que podría haber muerto: http://www.codeplex.com/domaindrivendesign
Me temo que http://www.codeplex.com/domaindrivendesign ha muerto , pero si alguien esta interesado en contribuir no dude en contactarme.
En general, recomendaría no confiar demasiado en los ejemplos de DDD; en el mejor de los casos, se pueden mostrar los resultados del modelado del dominio y / o un enfoque para implementar los patrones. Por lo tanto, recomiendo leer el libro y luego hacer preguntas en el foro .
http://kigg.codeplex.com/ es un buen ejemplo para mí.
Sé que no es C #, pero este es un meta-marco de Java que sigue un enfoque de dominio: no sé mucho al respecto, pero estoy dispuesto a estudiarlo en el futuro cercano: Roma Framework
http://sellandbuy.codeplex.com/
otro proyecto DDD
Una buena lectura es el libro de Jimmi Nilssons (y blog para esa materia) Aplicación de diseño impulsado por dominio
Es una mezcla de los libros de Evans y Fowlers ( Diseño controlado por dominio - Evans), y ( Patrones de arquitectura de aplicaciones empresariales - Fowler)
No he usado ninguna, pero hay algunas herramientas mencionadas en la página de Wikipedia de DDD. Aunque la mayoría de ellos parecen estar implementados en Java.
http://en.wikipedia.org/wiki/Domain-driven_design # Software_tools_to_support_domain-driven_design
Ok, encontré esto, pero es Java no C #:
http://timeandmoney.domainlanguage.com/
Code Camp Server , código de muestra de Jeffrey Palermo para el libro ASP.NET MVC en Acción es de código abierto y utiliza DDD.
(Igual que mi respuesta en ejemplos de diseño impulsado por un buen dominio )