La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ddd PATTERNS JAVA ¿De que vamos ha hablar? Presentación del modelo Ejemplo de implementación spring-hibernate anemico Ejemplo.

Presentaciones similares


Presentación del tema: "Ddd PATTERNS JAVA ¿De que vamos ha hablar? Presentación del modelo Ejemplo de implementación spring-hibernate anemico Ejemplo."— Transcripción de la presentación:

1 ddd PATTERNS JAVA

2 ¿De que vamos ha hablar? Presentación del modelo Ejemplo de implementación spring-hibernate anemico Ejemplo de implementación spring-hibernate DDD

3 MODELO: CARTERAS DE INVERSIÓN AccionUnidadesCotizaciónEntidadTotal IBM10014bankinter1400 Yahoo1012 bank of America 120 TOTAL:1520

4

5

6

7 implementación Tecnologías utilizadas java 1.6 maven 2 spring 3.0 hibernate 3.5 / API JPA 2.0 JUnit 4.10

8 Modelo anémico

9 Anotaciones confusas ¡no es una entidad! detalles de persistencia en el modelo

10 Acoplamiento nos saltamos la ley de demeter

11 Reparto de responsabilidades No seguimos el patrón experto (GRASP) No seguimos single responsability (SOLID)

12 ENTIDADES SIN COLABORADORES El ORM instancia mis objetos de dominio. ¿Como le inyecto el actualizador de cotizaciones?

13 falsa separación entre capas ¿persistence? ¿esto no era el modelo? AOP magic (con cgi-lib o DynamicProxy)

14 falsa separación entre capas

15 Posible solución

16

17 estructuras de datos Son sólo estructuras de datos. JPA impide poner public.

18 Las entidades tienen colaboradores volvemos a controlar el proceso de instanciación RepositorioE F

19 Separación más efectiva de responsabilidades Cartera Inversión Acción EntidadFinanciera

20 Mantener el ritmo de desarrollo Tiempo Productividad DDD Anémico

21 Hay otras opciones Inyectar colaboradores a mano via setters Inyectar con filtros en la construcción de objetos de hibernate Inyectar utilizando AOP con spring No usar hibernate, no usar spring Google guice es una alternativa seria a spring. JDBC, ibatis o queryDSL son alternativas serias a hibernate.

22 Conclusiones Poner los frameworks a nuestro servicio en lugar de estar nosotros al suyo Nos obsesionamos con frameworks técnicos y se nos olvida lo básico (OO, patrones, GRASP, SOLID) Usamos frameworks que facilitan lo más sencillo (hacer un CRUD) a costa de dificultar lo realmente complejo: construir un buen dominio. El desarrollo de software no es construir la versión 1.0, normalmente consiste en pasar de la N a la N+1.


Descargar ppt "Ddd PATTERNS JAVA ¿De que vamos ha hablar? Presentación del modelo Ejemplo de implementación spring-hibernate anemico Ejemplo."

Presentaciones similares


Anuncios Google