Main - About This Site

This Site

This site is written in PHP, but probably not in the way one would expect: I implemented a version of the front controller pattern. (Consult a text on web application development for details.) The controller consults a map of URI:file relations, and in turn the files are merged with a layout template.

One tenet of flexible software design is that an application's moving parts may vary independently: changes made in one component should not adversely affect other related, yet separate, components. This is achieved through loose coupling, in which components know only enough about each other to get their own work done.

To this end, the separation of the controller, content, and template lets me change any one of those pieces without touching the others.

While the font controller idea is applicable to any language, I most often see it working on J2EE projects. I'm a big fan of the Struts framework myself, and modeled some of this site's controller after its features.