Quería dejarlo en claro para mí.¿Cuál es la gran idea detrás de la implementación de AOP
He leído sobre el concepto de AOP y entendí que es una gran manera de compartir servicios de corte transversal. (registro, seguridad, transacción ...)
Pero me gustaría decir/preguntar algo sobre esta idea y su implementación.
He leído que hay algunas formas, como AspectJ, JBOSS AOP para la asimilación de AOP a mi lógica de negocio.
pero no lo encontré hace mucho tiempo?
digamos, por ejemplo, quiero compartir una aplicación de registro o la seguridad amongs mis componentes (beans de Java, EJB, en absoluto ..)
Por qué no podía hacer que un grano de Singleton asegurándose de que se tiene un solo Por ejemplo, y tan pronto como un componente necesite su servicio de registro/seguridad, buscará y usará su servicio.
¿Por qué tendría que entender y tener todas esas implementaciones "grandes" como aspectj o jboss AOP? ¿Qué extraño aquí?
¿Qué sucede si creo una clase padre y extiendo mis clases a partir de ella? Podría poner toda mi lógica de "perment" en esa clase de padres. cuando una clase lo extienda, podrá disfrutar de todos los métodos loggig/secutiry ... que habría declarado antes. También puedo crear métodos adicionales "crear"/"destruir" para Perment Loggig y tales ... – rayman
@rayman: pero igual debe ** llamar ** a estos métodos explícitamente (vea la gran muestra de código * JB Nizet *). AOP lo hará por usted una vez instruido, ¡también por el código que aún no ha escrito! Esto también significa que los nuevos programadores disfrutarán de las funciones de registro/seguridad sin siquiera saber de ellos.Sin mencionar que no estás abarrotando tu código con clases base/métodos de ayuda –
Mybe, puedes consultar mi último comentario en JB. – rayman