2009-05-18 13 views

Respuesta

3

Pregunte a cualquier persona de apoyo: el registro es no una buena aplicación de AOP. No les importa qué método se llama dentro de la aplicación. Se preocupan por las acciones importantes que la aplicación está realizando y necesitan que la información se presente de una manera que entiendan. Para crear registros decentes, debe tratar el registro como otra interfaz de usuario a la aplicación y diseñarlo en consecuencia.

Sería más exacto decir que AOP se puede utilizar para implementar trazando.

Y tampoco estoy seguro de que sea útil para la gestión de transacciones. Descubrí que la delegación simple de OO separa claramente la gestión de transacciones y la lógica empresarial.

Aún así, buena pregunta! He encontrado que los argumentos para AOP caen en dos campos:

  1. Bodging cambia a código mal diseñado sin tener que limpiar el diseño pobre.
  2. Trabajar con herramientas de desarrollo deficientes, como el rastreo de trama en una aplicación porque el entorno no tiene un buen soporte para el rastreo o la depuración.
1

AOP es bastante útil cuando tienes una aplicación heredada grande y quieres hacer un cambio general en toda la aplicación.

Recientemente lo utilicé para particionar el alcance de la sesión http utilizando una cookie adicional (que no sea la identificación de la sesión). Rápidamente alivió un montón de dolor del código de la sesión mal escrita.

también comprobación Glassbox por un muy buen ejemplo de cómo AOP puede ayudar en la toma de peso ligero herramientas de control y gestión del rendimiento

2

Tanto la gente de primavera como el comité de especificaciones EJB3 piensan que AOP es útil para transacciones declarativas.

Seguridad, por supuesto.

"AOP en acción" tiene un ingenioso ejemplo que muestra cómo usar AOP para aplicar reglas de arquitectura, como la no invocación del nivel de persistencia fuera del nivel de servicio.

Qi4j, el último cerebro de Rickard Oberg, utiliza AOP para modificaciones de clase dinámicas. Todavía tengo que entenderlo por completo, pero si Rickard lo está presionando, todos querremos saberlo algún día.

0

Acabo de comenzar a explorar cómo podría usar AOP. Hasta el momento lo he usado para la inyección de dependencias y para implementar una interfaz para admitir el enlace de datos bidireccional en algunos códigos de UI.

+0

para DI, ¿por qué no spring o spring.net? (a menos que tal vez estés en otro idioma?) – miguel

Cuestiones relacionadas