Content deleted Content added
m copyedit |
Citation bot (talk | contribs) Alter: title. | Use this bot. Report bugs. | Suggested by Whoop whoop pull up | #UCB_webform 25/134 |
||
(19 intermediate revisions by 16 users not shown) | |||
Line 1:
[[File:Interceptor.VSD Example.png|thumb|upright=1.6|Example of an interceptor]]
In the field of [[software development]], an '''interceptor pattern''' is a
Key aspects of the pattern are that the change is ''transparent'' and used ''automatically''. In essence, the rest of the
== Uses
Typical users of this pattern are web-servers<ref name="tomcat">[http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-interceptor.html Apache Software Foundation: Tomcat 6.0 Channel Interceptor Reference,
An example of implementation of this pattern is the ''javax.servlet.Filter'' interface, which is part of [[Java Platform, Enterprise Edition]].
▲Typical users of this pattern are web-servers<ref name="tomcat">[http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-interceptor.html Apache Software Foundation: Tomcat 6.0 Channel Interceptor Reference, acessed 2009-Nov-24]</ref> (as mentioned above), object-<ref name="CORBA-PI">[http://www.omg.org/spec/CORBA/3.1/ OMG, "CORBA v3.1, Part I: Interfaces", Chapter 16 "Portable Interceptors", January 2008]</ref> and message-oriented middleware<ref name="MOM">[http://www.edwardcurry.org/web_publications/curry_DEBS_04.pdf E. Curry, D. Chambers, and G. Lyons, “Extending Message-Oriented Middleware using Interception”, presented at Third International Workshop on Distributed Event-Based Systems (DEBS '04), ICSE '04, Edinburgh, Scotland, UK, 2004.]</ref>
[[Aspect-oriented programming]] (AOP) can also be used in some situations to provide the capability of an interceptor, although AOP doesn't use the elements typically defined {{Clarify|date=May 2012}} for the interceptor pattern.
== References ==
{{reflist}}
{{Design Patterns Patterns}}
{{DEFAULTSORT:Interceptor Pattern}}
[[Category:Software design patterns]]▼
[[Category:Architectural pattern (computer science)]]
[[Category:Concurrent computing]]
▲[[Category:Software design patterns]]
|