Post on 24-Jan-2015
description
Aplicaciones Robustas con Programación Orientada a Aspectos
Alex Casquete
blog: www.idlebit.estwitter: @acasqueteemail: acasquete@pasiona.com
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
¿Qué es AOP?
Temas transversalesCross-cutting concerns
Logging Seguridad Transacciones
Multithreading UI
Problemas al utilizar temas transversales
Más código
Código duplicado
Código mezclado
Código acoplado
«The number of defects in a feature is proportional to the size of the component.»
El número de errores está relacionado
Número de líneas
Dispersión del código
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.
¿Soluciones?
Proxies
dinámicos
Programación
funcional
Generación
de código
Beneficios de AOP
Menos coste Menos fallosAseguramiento
de la Calidad
Mejora el
mantenimiento
Mejora el
trabajo en
equipo
Hello PostSharp y DynamicProxy
demo
Conclusiones AOP
No sustituye a la OOP, la extiende.
Para implementar temas transversales.
Código simple = Éxito.
Referencias
AspectAspectAspectAspect----Oriented Software DevelopmentOriented Software DevelopmentOriented Software DevelopmentOriented Software Developmenthttp://aosd.net
PostSharpPostSharpPostSharpPostSharphttp://www.sharpcrafters.com/postsharp
DynamicProxyDynamicProxyDynamicProxyDynamicProxyhttp://www.castleproject.org/dynamicproxy
Aplicaciones Robustas con Programación Orientada a Aspectos
Alex Casquete
blog: www.idlebit.estwitter: @acasquete
email: acasquete@pasiona.com
¿Preguntas?
Barcelona Developers Conference 2011Nov 17th - 19th