Centralized Request Logic
Often in a web application, logic is duplicated among several types of requests. Three patterns are used to consolidate this logic into a central location:
- Front Controller
- Intercepting Filter
- Page Controller with common ancestor class
All three patterns interoperate well.
A Front Controller and Page Controller base classes are fairly interchangable and mostly used for implementing application specific logic. Intercepting filters are used more for de-coupled request processing logic.
The type of logic that benefits from centralization include:
- Logging and Auditing
- Debugging
- Security / Authorization
- HTTP Header Manipulation
- Response compression