As software developers we try to use Software Patterns to describe our work. Book that brought this to the software industry from the architecture was Design Patterns: Elements of Reusable Objected-Oriented Software, or commonly know as the Gang of Four (GoF). They describe many patterns in this big book. Today I would like to discuss a pattern I used a lot in my work at Dice. The Front Controller pattern was used extensively when the code base was established in the late 90s. We essentially had many web applications with a Front Controller and that would hand off to the various processors to perform the essential work.
The Front Controller Pattern is a software design pattern listed in several pattern catalogs. The pattern relates to the design of web applications. It “provides a centralized entry point for handling requests.”
Front controllers are often used in web applications to implement workflows. While not strictly required, it is much easier to control navigation across a set of related pages (for instance, multiple pages might be used in an online purchase) from a front controller than it is to make the individual pages responsible for navigation.
Wikipedia entry on Front Controller pattern.
Using patterns are a excellent way for developers to convey software design concepts quickly. The Front Controller pattern is used extensively in web application development. Working on the Health Callings code base it helped me understand how we could extend the framework once I realized what was the intent of the design. We used the Front Controller pattern to quickly pass the actions to the processor with various Option codes.