Programación orientada a aspectosA Programación Orientada a Aspectos (POA) é un paradigma de programación relativamente recente cuxa intención é permitir unha adecuada modularización das aplicacións e posibilitar unha mellor separación de conceptos. Grazas á POA pódense encapsular os diferentes conceptos que compón unha aplicación en entidades ben definidas, eliminando as dependencias entre cada un dos módulos. Desta forma conséguese razoar mellor sobre os conceptos, elimínase a dispersión do código e as implementaciones resultan máis comprensibles, adaptables e reusables. Varias tecnoloxías con nomes diferentes encamíñanse á consecución dos mesmos obxectivos e así, o termo POA é usado para referirse a varias tecnoloxías relacionadas como os métodos adaptivos, os filtros de composición, a programación orientada a suxeitos ou a separación multidimensional de competencias ObjectivoO principal obxectivo da POA é a separación das funcionalidades dentro do sistema:
Cada funcionalidade común encapsularase nunha entidade. Conceptos BásicosDebido á escasa literatura en español, preséntase a terminoloxía orixinal en inglés.
Problemas doutros paradigmasMoitas veces atopámonos, á hora de programar, con problemas que non podemos resolver dun xeito adecuado coas técnicas habituais usadas na programación imperativa ou na programación orientada a obxectos. Con estas, vémonos forzados a tomar decisións de deseño que repercuten de xeito importante no desenvolvemento da aplicación e que nos afastan con frecuencia doutras posibilidades. Doutra banda, a implementación de devanditas decisións a miúdo implica escribir liñas de código que están distribuídas por toda, ou gran parte, da aplicación para definir a lóxica de certa propiedade ou comportamento do sistema, coas consecuentes dificultades de mantemento e desenvolvemento que iso implica. En inglés este problema coñécese como scattered code, que poderiamos traducir como código disperso. Outro problema que pode aparecer é que un mesmo módulo se implemente de modo que manexe múltiples comportamentos ou aspectos do sistema simultaneamente. En inglés este problema coñécese como tangled code, que poderiamos traducir como código enmarañado. O feito é que hai certas decisións de deseño que son difíciles de capturar coas técnicas antes citadas, debéndose ao feito de que certos problemas non se deixan encapsular de igual forma que os que habitualmente se resolveron con funcións ou obxectos. A resolución destes supón ou ben a utilización de repetidas liñas de código por diferentes compoñentes do sistema, ou ben a superposición dentro dun compoñente de funcionalidades dispares. Programación orientada a obxectosA programación orientada a obxectos (POO) supuxo un gran paso na enxeñería do software, xa que presentaba un modelo de obxectos que parecía encaixar de xeito adecuado cos problemas reais. A cuestión era saber descompor do mellor xeito o dominio do problema ao que nos enfrontásemos, encapsulando cada concepto no que se deu en chamar obxectos e facéndolles interactuar entre eles, habéndolles dotado dunha serie de propiedades. Xurdiron así numerosas metodoloxías para axudar en tal proceso de descomposición e apareceron ferramentas que ata automatizaban parte do proceso. Isto non cambiou e séguese facendo no proceso de desenvolvemento do software. Con todo, frecuentemente a relación entre a complexidade da solución e o problema resolto fai pensar na necesidade dun novo cambio. Así pois, atopámonos con moitos problemas onde a POO non é suficiente para capturar dun xeito claro todas as propiedades e comportamentos dos que queremos dotar á nosa aplicación. Así mesmo, a programación imperativa tampouco nos soluciona o problema. Ligazóns externasCada vez pódese ler máis sobre POA en Internet. A seguinte lista mostra algúns sitios de interese sobre aspectos:
|
Portal di Ensiklopedia Dunia