Update: A recording of this presentation, as delivered to the Online ColdFusion Meetup is available via this blog post>.
The slides and sample code from my cf.Objective() presentation, Building An Object Oriented Model, are now available. Click on the links below to download them. I have also uploaded my presentation to SlideSix.
Here is the abstract for the presentation:
When making the move from a procedural to an object oriented approach one often comes across a pattern that involves using services and gateways to act as a middle man between a controller and your actual business objects. This session will present an approach to implementing a common set of services and gateways. Through the use of abstract classes you will see how to eliminate duplicate code and how to encapsulate logic to increase the cohesiveness of your entire model. We will start with the basics, describing what services and gateways are, and then look at building a model from the ground up. You'll leave the session with an understanding of the components that go into building a model, as well as some of the object oriented principles that will help guide you in your design efforts.
This session is aimed at beginning to intermediate developers who have some experience with and knowledge of basic OO concepts and are interested in learning about some of the design considerations that go into building an OO model.
Regarding the slide deck, it does not convey much meaning without my commentary, but the pictures are pretty ;-)
Regarding the sample code, it is designed to illustrate various points made throughout the presentation. It is not identical to the code that I would use in an actual application. Feel free to look at it for ideas, but I don't encourage people to use it as an example of best practices for writing services and gateways. I have written a number of blog posts on that topic, which can be found in the OO Design category of my blog.
If anyone is interested in having me deliver this presentation to a ColdFusion User Group via connect please feel free to leave me a comment, or send me an email.