Content deleted Content added
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0 |
Citation bot (talk | contribs) Alter: title. | Use this bot. Report bugs. | Suggested by Whoop whoop pull up | #UCB_webform 25/134 |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 4:
Key aspects of the pattern are that the change is ''transparent'' and used ''automatically''. In essence, the rest of the system does not have to know something has been added or changed and can keep working as before. To facilitate this, a ''predefined interface'' for extension has to be implemented, some kind of ''dispatching'' mechanism is required where interceptors are registered (this may be dynamic, at runtime, or static, e.g. through configuration files) and ''context objects'' are provided, which allow access to the framework's internal state.<ref name="POSA2">{{Cite web |url=http://www.cs.wustl.edu/~schmidt/POSA/POSA2/ |title=Schmidt, Stal, Rohnert & Buschmann: "Pattern-Oriented Software Architecture Vol.2: Patterns for Concurrent and Networked Objects", pp. 109--140, April 2001 |access-date=2009-11-24 |archive-url=https://web.archive.org/web/20171223032440/http://www.cs.wustl.edu/~schmidt/POSA/POSA2/ |archive-date=2017-12-23 |url-status=dead }}</ref>
== 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, accessed 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">
▲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, accessed 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>
An example of implementation of this pattern is the ''javax.servlet.Filter'' interface, which is part of [[Java Platform, Enterprise Edition]].
|