Introduce a common handler for all requests for a web site. This way we can encapsulate common functionality such as security, internationalization, routing and logging in a single place.
Use the Front Controller pattern when
- you want to encapsulate common request handling functionality in single place
- you want to implements dynamic request handling i.e. change routing without modifying code
- make web server configuration portable, you only need to register the handler web server specific way