El principio de la separación de incumbencias o competencias se centra en la capacidad de modularizar aquellas partes diferentes de una aplicación relevantes a un concepto, objetivo, tarea o propósito específico. Una separación apropiada de los distintos aspectos de un sistema reduce la complejidad del software, mejora su comprensión y mantenibilidad, y facilita la reutilización de código.
Considerando la persistencia como una incumbencia típica en la mayoría de las aplicaciones, la separación de ésta del código principal del sistema permite el desarrollo de programas sin tener en cuenta sus requisitos persistentes, añadiendo y adaptando éstos en fases posteriores. Esta separación permite al desarrollador manejar la persistencia de los programas de forma independiente a su funcionalidad, así como desarrollar la lógica de negocio de la aplicación sin tener en cuenta sus requisitos persistentes. La persistencia sería, en dicho caso, una competencia ortogonal que podría ser reutilizada para cualquier aplicación, independientemente de sus requisitos funcionales.
Tras analizar las distintas alternativas existentes con el objetivo de conseguir una separación total del aspecto de persistencia, se puede comprobar que si bien unas ofrecen mayor transparencia que otras, ninguna permite desarrollar una aplicación cuyo código sea absolutamente independiente del aspecto relacionado con las características de persistencia. Del mismo modo, la mayoría de las alternativas existentes son dependientes de un lenguaje específico.
Adicionalmente a las carencias detectadas en la separación del aspecto de persistencia, las aproximaciones existentes no abordan su asignación, separación, ni adaptación en tiempo de ejecución. Una adaptación dinámica de los distintos parámetros relacionados con la persistencia de un sistema, así como su asignación y eliminación en tiempo de ejecución, son relevantes en sistemas adaptabl
© 2008-2024 Fundación Dialnet · Todos los derechos reservados