L'intercepteur permet d'ajouter des fonctionnalités lors de la création d'objets, ou lors de l'appel (pré et port) d'une méthode. {{:helloworld:design_pattern:interceptor:uml.png|Diagramme UML Interceptor}} [[https://eprints.cs.univie.ac.at/2366/|Patterns of Service-Oriented Architectures]], {{ :helloworld:design_pattern:interceptor:porto-soa.pdf |Archive}} Cette ajout peut se faire soit par de la [[doc:poa|programmation orientée aspect]] ou par l'utilisation d'une interface qui possède une méthode ''process'' qui exécute la méthode et d'une méthode ''before'' et ''after'' (par exemple). {{:helloworld:design_pattern:interceptor:figure2.gif|Diagramme 2 UML Interceptor}} [[http://www.ibm.com/developerworks/library/ws-soa-hivol/|Architecture for high-volume SOA-based enterprise systems]] {{ :helloworld:design_pattern:interceptor:architecture_for_high-volume_soa-based_enterprise_systems_2020-04-27_11_21_38_am_.html |Archive du 21/03/2006 le 27/04/2020}} [[:helloworld:design_pattern:interceptor:java|Java]]