OOPhoto - Starting Off Procedural Then Moving To Object Oriented

Posted July 17, 2008 at 10:28 AM by Ben Nadel

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.


You Might Also Be Interested In:



Reader Comments

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

Nice job Ben, very cool.


Jul 17, 2008 at 6:59 PM // reply »
11,238 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 »
11,238 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 »
44 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 »
9 Comments

Great Job! Keep up the good work!


Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Supported HTML tags for formatting: <strong>bold</strong>   <em>italic</em>   <code>code</code>







  • Help Wanted - Find Your Next ColdFusion Job
Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
May 17, 2013 at 7:42 PM
HashKeyCopier - An AngularJS Utility Class For Merging Cached And Live Data
Ben - thanks so much for posting these Angular articles and findings, they've been a huge help towards learning one of the more 'complex' JavaScript frameworks out there (IMO). I have been using Angu ... read »
May 16, 2013 at 5:01 PM
UPDATE: Parsing CSV Data Files In ColdFusion With csvToArray()
Your code was the closest thing I've found to obtaining some direction for converting ISO fields to values that CF can translate properly. Thank you for posting! ... read »
May 15, 2013 at 10:37 PM
Very Simple Pusher And ColdFusion Powered Chat
hi id making plz easy ... read »
May 15, 2013 at 6:07 PM
Making SOAP Web Service Requests With ColdFusion And CFHTTP
Ben, you once again saved my bacon at work. Thank you, thank you, thank you! ... read »
May 15, 2013 at 4:15 PM
What If All User Interface (UI) Data Came In Reports?
@Josh, Thanks! @Ben, I definitely recommend the David West book "Object Thinking" I've been quoting from. It goes deeply into the philosophy and history of OO programming. His breadth ... read »
May 15, 2013 at 11:36 AM
Ask Ben: Print Part Of A Web Page With jQuery
I found this helpfull when you need to keep (refresh) the original parent page after closing the iframe child print dialog (Hoping you're not using a form at this time so it won't submit again): On ... read »
May 14, 2013 at 7:13 PM
What If All User Interface (UI) Data Came In Reports?
@Jonah, If there's any books you'd recommend on the subject of domain modelling, I'd love to hear it. I just downloaded the free PDF of "Domain Driven Design Quickly". Figured I'd give it ... read »
May 14, 2013 at 6:57 PM
The UX Of Prototyping: Low-Fidelity Is The New High-Fidelity
@Phillip, I'm not sure I follow what you mean? Are you saying that you looked at the list of widgets provided by the jQuery UI and let that be your style guide? ... read »
InVision App - Prototyping Made Beautiful With Prototyping Tools