Introduction to Model-View-Controllers 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 knowldge gap
between those 2 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 Model-Glue 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's not specific to a CF
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, when going to a full fledged
framework may be the better way go to, and how easy it is to do so. For maximum benefit,
you should have an understanding of how the CFComponent tag works, and ideally what a Bean,
DAO and Gateway do (but we will review those in the presentation).
Modularity shoot-out: CFInclude vs CFModule vs Custom Tags, vs CFFunction
There are lots of procedural applications still in Production today; apps that were originally
built on ColdFusion 4.x but still need regular maintenance and updates. Maybe the server has
since been updated to CF9, but the developers in charge haven't had the chance to learn ways to
write reusable code beyond the CFInclude tag. In this presentation will go over the basics of
CFInclude, CFModule, Custom Tags, and CFFunctions. We will show pros and cons of each, sample
code where one construct may be more appropriate than another, and we'll also do a quick
"speed comparison" between them as well. This is a talk for beginner developers, or intermediate
developers that just haven't had the opportunity to go beyond some of the older ColdFusion
functionality. No knowledge of object-oriented programming is required.