• Istituto
    • Chi Siamo
    • La nostra storia
  • Magazine
    • Agenda
    • Atlante
    • Il Faro
    • Il Chiasmo
    • Diritto
    • Il Tascabile
    • Le Parole Valgono
    • Lingua italiana
    • WebTv
  • Catalogo
    • Le Opere
    • Bottega Treccani
    • Gli Ebook
    • Le Nostre Sedi
  • Scuola e Formazione
    • Portale Treccani Scuola
    • Formazione Digitale
    • Formazione Master
    • Scuola del Tascabile
  • Libri
    • Vai al portale
  • Arte
    • Vai al portale
  • Treccani Cultura
    • Chi Siamo
    • Come Aderire
    • Progetti
    • Iniziative Cultura
    • Eventi Sala Igea
  • ACQUISTA SU EMPORIUM
    • Arte
    • Cartoleria
    • Design & Alto Artigianato
    • Editoria
    • Idee
    • Marchi e Selezioni
  • Accedi
    • Modifica Profilo
    • Treccani X

AOP (Aspect-oriented programming)

di Mauro Cappelli - Enciclopedia della Scienza e della Tecnica (2008)
  • Condividi

AOP (Aspect-oriented programming)

Mauro Cappelli

Stile di programmazione fondato sulla creazione di enti, detti aspetti (aspect), in grado di gestire su richiesta le interazioni fra oggetti per la realizzazione di un obiettivo comune. In tal modo si evita che il codice relativo debba essere implementato singolarmente in ogni oggetto, creando invece un insieme di metodi e tecniche per decomporre i problemi in funzioni e aspetti in grado di risolverli, a vantaggio della modularità del programma. La programmazione orientata agli aspetti rappresenta una sorta di evoluzione del paradigma di programmazione orientata agli oggetti. Introdotta per migliorare la fase di software engineering (progetto, manutenzione e riuso del codice), tale tipo di programmazione risulta però poco adatta a trattare problemi difficilmente scomponibili in oggetti fra loro non interagenti e che presentano invece funzionalità ­comuni e di interesse per l’intera applicazione (cross-cutting concern). In casi come questi i metodi degli oggetti coinvolti devono prevedere parti di codice fra loro comuni, con la conseguenza di una serie di ridondanze che appesantiscono l’intero codice e ne diminuiscono leggibilità e manutenibilità. La programmazione orientata agli aspetti consente al programmatore di esprimere invece tali funzionalità comuni in moduli autonomi (gli aspetti). Essi possono contenere funzioni di chiamata (advice), in particolari punti o istanti del programma (join point), a un qualsiasi metodo di un oggetto in esecuzione, secondo quanto indicato nei cosiddetti pointcut: nel momento in cui l’esecuzione di un programma raggiunge uno dei join point contenuti nel pointcut, viene eseguito l’advice associato al pointcut. L’insieme di advice, join point e pointcut costituisce la base del cosiddetto JPM (join point model). L’introduzione del concetto di aspetto consente il trattamento di problematiche trasversali agli oggetti, come il logging, l’accounting ecc. I linguaggi attualmente più usati per tale paradigma di programmazione sono AspectJ, HyperJ e AspectC++. AspectJ è stato il primo linguaggio di programmazione orientato agli aspetti, introdotto nel 2001 dal gruppo di Gregor Kiczales alla Xerox PARC (ora rinominata semplicemente PARC) di Palo Alto in California. Sebbene siano stati successivamente proposti altri linguaggi (anche più potenti), AspectJ resta il più usato dai programmatori di tutto il mondo.

→ Programmazione, linguaggi di

Vedi anche
subroutine In informatica, lo stesso che sottoprogramma, ossia programma (generalmente breve) che può essere richiamato, anche più volte, dal programma principale per risolvere un problema specifico e frequente, agevolando così la programmazione e facendo risparmiare spazio di memoria. In alcuni contesti si considerano ... implementazione In informatica, realizzazione di una procedura di elaborazione automatica dei dati, ideata a seguito dell’analisi del problema che si vuole affrontare e relativa progettazione della soluzione; si estrinseca, a partire dagli stadi iniziali, attraverso le varie fasi del progetto: definizione dello schema ... linguàggio di programmazióne linguàggio di programmazióne In informatica, insieme di parole e di regole, definite in modo formale, per consentire la programmazione di un elaboratore affinché esegua compiti predeterminati. Esistono linguaggio di programmazione di linguaggio di programmazione di alto livello e di basso livello: ... software Nella tecnica elettronica, in contrapposizione a hardware, tutti i componenti modificabili di un sistema o di un apparecchio e, più specificamente in informatica, l’insieme dei programmi che possono essere impiegati su un sistema di elaborazione: software di sistema, quello relativo al sistema operativo ...
Categorie
  • PROGRAMMAZIONE E PROGRAMMI in Informatica
  • Istituto
    • Chi Siamo
    • La nostra storia
  • Magazine
    • Agenda
    • Atlante
    • Il Faro
    • Il Chiasmo
    • Diritto
    • Il Tascabile
    • Le Parole Valgono
    • Lingua italiana
    • WebTv
  • Catalogo
    • Le Opere
    • Bottega Treccani
    • Gli Ebook
    • Le Nostre Sedi
  • Scuola e Formazione
    • Portale Treccani Scuola
    • Formazione Digitale
    • Formazione Master
    • Scuola del Tascabile
  • Libri
    • Vai al portale
  • Arte
    • Vai al portale
  • Treccani Cultura
    • Chi Siamo
    • Come Aderire
    • Progetti
    • Iniziative Cultura
    • Eventi Sala Igea
  • ACQUISTA SU EMPORIUM
    • Arte
    • Cartoleria
    • Design & Alto Artigianato
    • Editoria
    • Idee
    • Marchi e Selezioni
  • Accedi
    • Modifica Profilo
    • Treccani X
  • Ricerca
    • Enciclopedia
    • Vocabolario
    • Sinonimi
    • Biografico
    • Indice Alfabetico

Istituto della Enciclopedia Italiana fondata da Giovanni Treccani S.p.A. © Tutti i diritti riservati

Partita Iva 00892411000

  • facebook
  • twitter
  • youtube
  • instagram
  • Contatti
  • Redazione
  • Termini e Condizioni generali
  • Condizioni di utilizzo dei Servizi
  • Informazioni sui Cookie
  • Trattamento dei dati personali