MVC With and Without a Framework

So you've looked at CF Components, and kind of understand the basics of how they work. Everyone says "frameworks are the way to go", but there's still a big knowledge gap between those two points. As each framework has its own terminology, how do you know where verbiage for one begins and the other one ends? Is "Controller" a ColdBox specific thing? What about a "Service Layer" or a "View"? There's very little documentation available about the "Model-View-Controller" pattern for ColdFusion that is not specific to a framework, and that's often what causes the confusion for people newer to OO development.

In this talk we will go over a basic application that's built using the Model-View-Controller design pattern, but does not use any specific framework to get there. We'll also show when using the MVC pattern by itself may be enough for your app. We'll also look at when going to a full fledged framework may be better, and how easy it is to get there.

Target audience: Developers that have not yet been able to bridge the gap from procedural code over to MVC are encouraged to attend. No prior OOP or MVC experience required. Anyone that has at least looked at the basic syntax for CFComponent tags and has an intermediate understanding of CFML will be able to follow all of the content.

Objective for the topic: We'll give an introduction to the MVC design pattern, and separate out concepts and terms that are/aren't specific to a framework, showing how easy it is to go from one framework (or language) to another once you've got the basics sorted out correctly.

Main takeaways:

  • How do we go from procedural code and start writing OO code if we've never done it before?
  • What's a Model? What's a View? What's a Controller?
  • Are any of those terms specific to, say, Framework-1? Or are they generic OO terms?
  • Is it any extra work to build an OO app instead of just doing things the "old" way?
  • Let's look at an OO app both with and without a framework so we can see how similar they really are.