Aplicaciones robustas con Programación Orientada a Aspectos
-
Upload
alex-casquete -
Category
Technology
-
view
2.368 -
download
3
description
Transcript of Aplicaciones robustas con Programación Orientada a Aspectos
![Page 1: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/1.jpg)
Aplicaciones Robustas con Programación Orientada a Aspectos
Alex Casquete
blog: www.idlebit.estwitter: @acasqueteemail: [email protected]
![Page 2: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/2.jpg)
En la próxima hora veremos…
¿Qué es AOP?
Temas transversales comunes (Cross-cutting concerns)
Problemas al utilizar temas transversales
Soluciones existentes
Beneficios de AOP
Demos (PostSharp, DinamicProxy)
Preguntas
![Page 3: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/3.jpg)
¿Qué es AOP?
![Page 4: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/4.jpg)
Temas transversalesCross-cutting concerns
Logging Seguridad Transacciones
Multithreading UI
![Page 5: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/5.jpg)
![Page 6: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/6.jpg)
![Page 7: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/7.jpg)
Problemas al utilizar temas transversales
Más código
Código duplicado
Código mezclado
Código acoplado
![Page 8: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/8.jpg)
«The number of defects in a feature is proportional to the size of the component.»
![Page 9: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/9.jpg)
El número de errores está relacionado
Número de líneas
Dispersión del código
![Page 10: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/10.jpg)
Soluciones
Añadir transversalidad sin modificar el código existente.
Aplicar esta transversalidad con el mínimo código.
Mejora de la lógica transversal, sin revisar el código de negocio.
Eliminación de código duplicado.
![Page 11: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/11.jpg)
¿Soluciones?
Proxies
dinámicos
Programación
funcional
Generación
de código
![Page 12: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/12.jpg)
Beneficios de AOP
Menos coste Menos fallosAseguramiento
de la Calidad
Mejora el
mantenimiento
Mejora el
trabajo en
equipo
![Page 13: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/13.jpg)
Hello PostSharp y DynamicProxy
demo
![Page 14: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/14.jpg)
Conclusiones AOP
No sustituye a la OOP, la extiende.
Para implementar temas transversales.
Código simple = Éxito.
![Page 15: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/15.jpg)
Referencias
AspectAspectAspectAspect----Oriented Software DevelopmentOriented Software DevelopmentOriented Software DevelopmentOriented Software Developmenthttp://aosd.net
PostSharpPostSharpPostSharpPostSharphttp://www.sharpcrafters.com/postsharp
DynamicProxyDynamicProxyDynamicProxyDynamicProxyhttp://www.castleproject.org/dynamicproxy
![Page 16: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/16.jpg)
Aplicaciones Robustas con Programación Orientada a Aspectos
Alex Casquete
blog: www.idlebit.estwitter: @acasquete
email: [email protected]
¿Preguntas?
![Page 17: Aplicaciones robustas con Programación Orientada a Aspectos](https://reader034.fdocuments.mx/reader034/viewer/2022051514/54c2df354a7959e2238b45ea/html5/thumbnails/17.jpg)
Barcelona Developers Conference 2011Nov 17th - 19th