SeamFramework.orgCommunity Documentation
Il primo tema saliente di Web Beans è l'accoppiamento debole (loose coupling). Abbiamo già visto tre modi per realizzarlo:
i tipi di deployment rendono possibile il polimorfismo a deployment time,
i metodi produttori rendono possibile il polimorfismo a runtime, e
la gestione contestuale del ciclo di vita disaccoppia i cicli di vita dei Web Bean
Queste tecniche servono a realizzare l'accoppiamento debole (loose coupling) di client e server. Il client non è più strettamente legato all'implementazione di una API, né è tenuto a gestire il ciclo di vita dell'oggetto server. Questo approccio permette agli oggetti stateful di interagire come se fossero servizi.
L'accoppiamento debole (loose coupling) rende un sistema più dinamico. Il sistema può rispondere ai cambiamenti in un modo ben definito. In passato, i framework che hanno cercato di fornire le funzionalità e gli strumenti sopraelencati, l'hanno puntualmente fatto a discapito della sicurezza dei tipi (type safety). Web Beans è la prima tecnologia a raggiungere questo livello di puntualmente accoppiamento debole (loose coupling) in modo sicuro rispetto all'uso dei tipi.
Web Beans fornisce tre strumenti extra importanti che ampliano l'obiettivo del loose coupling:
gli interceptor disaccoppiano i problemi tecnici dalla business logic,
i decoratori possono essere usati per disaccoppiare alcuni problemi relativi alla business logic, e
le notifiche degli eventi disaccoppiano i produttori di eventi dai consumatori
Innanzitutto esploriamo gli interceptor.