From 97c5c13f2d8d075e79f7f50c7ee58ecb782f0d21 Mon Sep 17 00:00:00 2001 From: joshzambales Date: Fri, 3 Apr 2015 18:27:01 +0800 Subject: [PATCH] Updated README.md --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index cb11999e5..4806b01c6 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,19 @@ 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 + +![alt text](https://github.com/iluwatar/java-design-patterns/blob/master/abstract-factory/etc/abstract-factory_1.png "Abstract Factory") + +**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 + +**Real world examples:** +* [javax.xml.parsers.DocumentBuilderFactory](http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html) + ## Abstract Factory [↑](#list-of-design-patterns) **Intent:** Provide an interface for creating families of related or dependent objects without specifying their concrete classes.