My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
devMeth  
This explains the BYOM (methodology) concept of SOS.
Updated May 2, 2012 by sosensible

SOS Basics > devMeth Developer Methodologies

Introduction

Encapsulation and decoupling are two buzzwords of architecture gurus. Yet nearly every framework on the market has the methodology of coding an application tightly coupled to the Application framework. Let me cover this in stages to simplify the concept.

MVC

Many developers have heard the drum beat that advanced developers and technology all use MVC. That is pretty much the truth but what they don't tell you is how different one MVC can be from the next. They also don't tell us that all this basically means is the logic of our Model (functional objects that typically persist their state in a database), View (the part of markup to generate what the user is visually interacting with) and the Controller (where the application request is handled for interacting with the model and business logic.)... all of those with MVC are seperated into layers to clarify where to write and where to locate code. In reality MVC is the methodology concept of keeping code seperated.

Application Framework

Almost all ColdFusion frameworks have one thing in common. They share the MVC variation called Model 2. This means the request is handled by a "front controller" that then passes the flow of the request to another controller. (I call this the "request controller".) This is a good way to describe the majority of application frameworks on any web platform actually.

Methodology

How we code should not be determined by the application framework if we follow the strong beliefs of the gurus because this means the methodology is "tightly coupled" to the application framework.

Details

With that said let's take a look at the common methodologies that are available for SOS.

  • SAT (stand alone templates)
  • Switch (similar to the Fusebox 3 ideals)
  • COOP (a designer/developer hybrid through better view tags)
  • Classy (similar to the CFWheels coding basics)

These frameworks all conform to the applicaiton frameworks standards but they allow the application to be coded according to different methdologies for each application. It also allows applications to be swapped out with a different methodology with basically no lost links to search engines or bookmarks. It also provides a common API to help streamline code inside those methodologies.

At the end of the day we realize that just like MVC was a great concept for segmenting code there are great advantages to segmenting what belongs in the Application Framework API, what belongs in the methodology and other concepts like skinning.

There is a common workflow to code inside all methodologies.


Sign in to add a comment
Powered by Google Project Hosting