Más allá oo utilizando programación orientada a aspectos

(OO) técnicas orientadas a objetos se basan en el principio de que al igual que las responsabilidades y preocupaciones pueden ser coherentemente agrupan y se encapsula en una sola entidad - como una clase. Sin embargo, algunas responsabilidades no pueden ser encapsulados utilizando las técnicas estándar disponibles en lenguajes OO. Estas responsabilidades se llaman preocupaciones transversales, ya que "atraviesan" múltiples partes de un programa. El registro es una preocupación transversal, ya que debe aplicar la tala en todas las partes del sistema. Sin embargo, la única manera de asegurarse de todos los componentes del sistema los registros de sí mismo, y de una manera estándar, es insertar manualmente el código en su caso.

Programación orientada a aspectos (AOP) herramientas le permiten especificar en un lugar en su programa cómo va a abordar una preocupación transversal. Las herramientas generan entonces la implementación e insértela en todos los lugares necesarios en su código.

El siguiente ejemplo muestra el uso de AOP en la implementación de una pila.

aspecto AddLogging {- push (ItemType * item) {AddLogging.info (@ "Pushing elemento", artículo)} - (ItemType *) pop {AddLogging.Info (@ "elemento que hace estallar", returnedItem) -} // Otro código transversal .}



» » » » Más allá oo utilizando programación orientada a aspectos