From f64480d7316c8c9862902562ca7df0e49d08d9e0 Mon Sep 17 00:00:00 2001 From: joshzambales Date: Fri, 3 Apr 2015 18:35:55 +0800 Subject: [PATCH] Updated README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4806b01c6..2be8eecd2 100644 --- a/README.md +++ b/README.md @@ -59,14 +59,14 @@ Presentation Tier patterns are the top-most level of the application, this is co * [Intercepting Filter](#intercepting-filter) ## Intercepting Filter [↑](#list-of-design-patterns) -**Intent:** Provide an interfa +**Intent:** Provide pluggable filters to conduct necessary pre-processing and post-processing to requests from a client to a target -![alt text](https://github.com/iluwatar/java-design-patterns/blob/master/abstract-factory/etc/abstract-factory_1.png "Abstract Factory") +![alt text](https://github.com/iluwatar/java-design-patterns/blob/master/abstract-factory/etc/abstract-factory_1.png "Intercepting Filter") **Applicability:** Use the Intercepting Filter pattern when -* Used when system uses pre-processing or post-processing requests -* a family of related product objects is designed to be used together, and you need to enforce this constraint -* you want to provide a class library of products, and you want to reveal just their interfaces, not their implementations +* a system uses pre-processing or post-processing requests +* a system should do the authentication/ authorization/ logging or tracking of request and then pass the requests to corresponding handlers +* you want a modular approach to configuring pre-processing and post-processing schemes **Real world examples:** * [javax.xml.parsers.DocumentBuilderFactory](http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html)