In this blog we are going to discuss the difference between FrontController
and Facade design pattern. If one looks at there definition, they both look
similar and at times during implementation they can be mixed up.
Definition wise :
FrontController : "The Front
Controller pattern defines a single component that is
responsible for processing application requests. A front controller centralizes
functions such as view selection, security, and templating, and applies them
consistently across all pages or views. Consequently, when the behavior of
these functions need to change, only a small part of the application needs to
be changed: the controller and its helper classes. -http://java.sun.com/blueprints/patterns/FrontController.html
"
FrontController solves the problem of common functionality
distributed across the components by centralizing the functionalities at one
common component. For example, in a web application , any request hits an entry
point servlet. That servlet can act as FrontController by encompassing the
responsibility of common features which need to be applied to every request
like logging, security etc.
Facade: The Facade pattern defines a higher-level business component that
contains and centralizes complex interactions between lower-level business
components. It provides clients with a single interface for the functionality
of an application or application subset. It also decouples lower-level business
components from one another, making designs more flexible and comprehensible. Facade aggregates various complex business
processes and provides client with a simple and unified interface to interact
with.
No comments:
Post a Comment