Arranque de primavera: diferencia entre AOP y OOP

AOP (Programación Orientada a Aspectos) complementa OOP al permitir la modularidad de preocupaciones transversales. La unidad clave de Modularidad (descomposición del código en diferentes módulos) en la Programación Orientada a Aspectos es Aspecto. una de las principales ventajas de AOP es que permite a los desarrolladores concentrarse en la lógica empresarial. Es más conveniente de usar porque los cambios deben realizarse en un solo lugar. AOP se usa junto con spring Ioc para proporcionar una solución de middleware muy capaz.

Nota: Las preocupaciones transversales son una de las preocupaciones en cualquier aplicación, como el registro, la seguridad, el almacenamiento en caché, etc. Están presentes en una parte del programa, pero también pueden afectar otras partes del programa.

AOP se usa junto con Oop, ya que también funciona con clases y objetos, etc. También podemos decir que Oop es un término básico para AOP. Los diferentes marcos utilizados en Aop son AspectJ, JBoss y Spring. AOP hace que el programa esté débilmente acoplado. AOP separa la lógica empresarial de las preocupaciones transversales. La clase de aspecto que contiene preocupaciones transversales se anota mediante anotaciones @Aspect y @EnableAspectJAutoProxy

AOP tiene diferentes términos como Aspect, Weaving, diferentes tipos de consejos, expresiones JoinPoints y Pointcut, etc. Estos términos se explican a continuación:

  • Aspecto: Las preocupaciones transversales se modularizan como Aspecto. Las clases que contienen tales preocupaciones transversales se anotan con la anotación @Aspect.
  • Punto de unión: la ejecución del método se representa mediante el uso de Joinpoint.
  • Consejo: Aspect toma medidas en un Joinpoint en particular. Esta acción depende de varios consejos que se explican a continuación:
  • Antes del consejo: Se ejecuta antes de la ejecución del método.
  • Después de devolver el consejo: se ejecuta después de que el método devuelva el resultado.
  • Después de lanzar un consejo: se ejecuta después de que el método lanza una excepción.
  • Después de (finalmente) consejo: se ejecuta después de la ejecución del método o después de que se lanza una excepción o el método devuelve el resultado.
  • Consejo Around: Puede realizar el comportamiento antes y después de la invocación del método.
  • Pointcut: Pointcut es una firma que coincide con los puntos de unión.

Ilustración: Una expresión pointcut con un consejo antes:

// Annotation
@Before("execution(* abc.efg.gettingstarted.dao.*.add(..))")

public void allMethods(Point Point) 
{  // Aspect body }

Programación orientada a objetos

El modelo de programación orientada a objetos funciona en torno a clases y objetos. Los principales bloques de construcción de Oop son clases, objetos, métodos, atributos, etc. Oop tiene varias ventajas, como la reutilización del código, la flexibilidad, etc. También mantiene la modularidad utilizando clases.

Nota: El objeto es una instancia de clase y la clase es un modelo de un objeto creado.

La unidad clave de modularidad (descomposición del código en diferentes módulos) en la programación orientada a objetos es la clase. Oop contiene objetos, clases, interfaces, etc. Oop carece de la función de utilizar preocupaciones transversales. Consiste en varios conceptos, como la abstracción de datos, la encapsulación, el polimorfismo y la herencia.

Ilustración: si hay una clase de fruta, entonces manzana, naranja, plátano son varios objetos de la clase de fruta.

Publicación traducida automáticamente

Artículo escrito por dudhanevrushali28 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *