Even they provide a similar idea, by providing a single point of entry, but they are different:
A Facade design pattern provides a simplified interface to a larger body of code, such as a Java class library. It can:
- make a software libary asier to use and understand, since the facade has convenient methods for common tasks.
- reduce dependencies of outside code on the inner workings of a library, since most code uses the facade, thus allowing more flexibility in developing the system.
- wrap a poorly designed collection of APIs with a single well-designed API.
A Front Controller design pattern is typically apply to the Web framework such as Struts, Webwork etc. It has two reponsibilities:
- Retrieving Parameters: The handler receives the HTTP Post or Get request from the Web server and retrieves relevant parameters from the request.
- Select Commands: The handler uses the parameters from the request first to choose the correct command and then to transfers control to the command for processing.
Hope this help