OOPhoto - Starting Off Procedural Then Moving To Object Oriented

Posted July 17, 2008 at 10:28 AM

Tags: ColdFusion

The latest OOPhoto application can be experienced here.

The OOPhoto code for this post can be seen here.

Over the past two weeks, I have been struggling to model the domain of OOPhoto, my latest attempt at learning object oriented programming in ColdFusion. After getting very caught up with analysis of the various layers of the OOPhoto application, it was suggested that I just start off by building the application in my old-school procedural manner first and then work on refactoring it into Object Oriented Programming (OOP). The idea is to get the most simple thing working first and then go back and see where it can be improved.

And so, that is what I have done. I now have a working application written in old-school, procedural programming. Please click here to play around with it.

I have to keep this post short as I have to work on some actual stuff, but there will be more on this soon; I just wanted to get this out there for people to play with. The application is quite simple, but the AJAX made it like 10 times harder than it needed to be. I don't regret the AJAX, though, as I think it will lend to a more robust understanding of OOP when I get to that point - not only do I have internal calls in the ColdFusion layer, I have external applications (the client) calling what will eventually be some sort of remote facade I assume.

Post Comment  |  Ask Ben  |  Other Searches  |  Print Page


You Might Also Be Interested In:




Reader Comments

Jul 17, 2008 at 5:07 PM // reply »
55 Comments

Nice job Ben, very cool.


Jul 17, 2008 at 6:59 PM // reply »
7,572 Comments

@Steve,

Thanks for the support. I am hoping to now start to re-factor it into object oriented programming styles.


Jul 18, 2008 at 11:19 AM // reply »
92 Comments

Ben, this is great! I'm glad you have decided to go this route as I think it will be easier now for you to make the jump piece by piece. It can really be overwhelming at first. It was the same for me. It might all make sense in your mind but once you are getting your hands dirty you don't know where to start.

Ask folks here questions as we are happy to help you out! You have had some great comments come through that also have helped me learn and reinforce certain ideas. Keep it going and don't get lazy! Keep us updated. :)


Jul 18, 2008 at 11:27 AM // reply »
7,572 Comments

@Javi,

Thanks for the encouragement. Yesterday, I posted the procedural style application. Now, I am looking forward to start refactoring. Gonna kick it off with some simple service objects.


Nov 13, 2008 at 1:39 PM // reply »
30 Comments

Ben,

Keep up the good work with posts like these. I am slowly catching up to certain standards used throughout the community. OO & MVC are my next big hoops to jump through. I'm looking through the code for the procedural version of OOPhoto now. It's all really clean so far.

José


Jun 11, 2009 at 4:32 PM // reply »
2 Comments

Ben, I know your a hard worker, you deserve that. Hope to read more from you. Your writing is inspiring, keep up the good work.


Sep 5, 2009 at 7:49 PM // reply »
4 Comments

Great Job! Keep up the good work!


Post Comment  |  Ask Ben

Recent Blog Comments
Jim
Mar 19, 2010 at 4:49 PM
Nobody Puts Baby In The Corner!
Wow. This is like suddenly finding a support group for your secret shame. I'm not alone! I always liked this movie, even though it is extremely cheesy. I just wish Jennifer Grey hadn't gotten the ... read »
Mar 19, 2010 at 4:47 PM
Application.cfc OnRequest() Method Affects OnError() Arguments
@Jason and @Ben, I've been doing some CF9 refactoring on our systems and noticed an odd occurrence with onError as well. Found a way to work around my problem, but what I saw was... Background: Our ... read »
Jim
Mar 19, 2010 at 4:44 PM
Shoot 'Em Up Starring Clive Owen And Paul Giamatti
I actually enjoyed this movie quite a lot. It was different, certainly, but I think they were going for more of a Quentin Tarentino-"wow, that was weird"-vibe than an actual spoof. Once I realize ... read »
Mar 19, 2010 at 4:34 PM
An Intensive Exploration Of jQuery With Ben Nadel (Video Presentation)
Hey I guess the video is down. Is there anyway you can upload to youtube or vimeo or some other service? Greatly appreciated. ... read »
Mar 19, 2010 at 4:24 PM
ColdFusion CFPOP - My First Look
@Ben Thanks for the follow up! The root of the problem had to do with being able to trace bounced emails to specific records in a DB table. Let's say you run an email campaign and you get 1,000 bou ... read »
Mar 19, 2010 at 4:15 PM
SQL COUNT( NULLIF( .. ) ) Is Totally Awesome
Thank you Ben and Tony! Either of these work for the summary report I am working on and the info is much appreciated! I think I like Tony's a little better because I won't have to educate every ... read »
Mar 19, 2010 at 3:35 PM
ColdFusion Path Usage And Manipulation Overview
@Ben, Sorry. Clarification. expandpath worked for me in application.cfc, but not in other templates. ... read »
Mar 19, 2010 at 3:33 PM
ColdFusion Path Usage And Manipulation Overview
@Ben, Never did. Worked around it and moved on. Here is what I ended up with in onApplicationStart: // chop off "\application.cfc" application.appdir = GetCurrentTemplatePath().ReplaceFirst( "[\\\ ... read »