Un aspecto de un programa es una característica vinculada a muchas otras partes del programa, pero que no está relacionada con la función principal del programa. Un aspecto atraviesa las preocupaciones centrales del programa, violando así su separación de preocupaciones que intenta encapsular funciones no relacionadas. Por ejemplo, el código de registro puede dividir muchos módulos, pero el aspecto del registro debe estar separado de las preocupaciones funcionales del módulo que cruza. Aislar aspectos como el registro y la persistencia de la lógica empresarial es el núcleo del paradigma de la programación orientada a aspectos (AOP) . [1]
La orientación a aspectos no se limita a la programación, ya que es útil para identificar, analizar, rastrear y modularizar las preocupaciones a través de la obtención de requisitos, la especificación y el diseño. Los aspectos pueden ser multidimensionales al permitir que el comportamiento tanto funcional como no funcional sea transversal a cualquier otra inquietud, en lugar de simplemente mapear las inquietudes no funcionales con los requisitos funcionales. [ cita requerida ]
Una visión del desarrollo de software orientado a aspectos es que cada característica principal del programa, preocupación central (lógica de negocios) o preocupación transversal (características adicionales), es un aspecto, y entretejiéndolos (un proceso también llamado composición) , finalmente se produce un todo a partir de los aspectos separados. Este enfoque se conoce como programación de aspectos puros, pero los enfoques híbridos se utilizan con mayor frecuencia. Es posible que las preocupaciones funcionales se crucen con las preocupaciones funcionales o no funcionales (p. Ej., La necesidad de más características daña la movilidad). Un enfoque uniforme de la representación y la composición, similar al enfoque puro en AOP, se denomina representación multidimensional. [ cita requerida ]
Referencias
- ^ Awais Rashid (2004). Sistemas de bases de datos orientados a aspectos . Saltador. ISBN 3-540-00948-5.