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 »
65 Comments

Nice job Ben, very cool.


Jul 17, 2008 at 6:59 PM // reply »
10,640 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 »
10,640 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 »
43 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
InVision App - Prototyping Made Beautiful With Prototyping Tools Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
Feb 10, 2012 at 7:21 PM
jQuery AJAX Strips Script Tags And Inserts Them After Parent-Most Elements
Update! Instead of $(eval(options.insertAfter)).after(data['insertData']); I now use: var ajaxNode = document.createElement('span'); var parent = $(eval(options.insertAfter))[0].parentNode; ... read »
Feb 10, 2012 at 6:18 PM
jQuery AJAX Strips Script Tags And Inserts Them After Parent-Most Elements
encountered this same, what I consider, jQuery bug last week. I'm building a site in which I load some content via AJAX. This content contains Linkedin share button placeholders which Linkedin API ne ... read »
Feb 10, 2012 at 11:30 AM
Cross-Origin Resource Sharing (CORS) AJAX Requests Between jQuery And Node.js
After you understand the concepts here, this is an awesome cheatsheet for enabling CORS in just about anything http://enable-cors.org/ ... read »
JM
Feb 10, 2012 at 9:10 AM
My Safari Browser SQLite Database Hello World Example
@Amy, Here is a very good tutorial on how to use JOIN: http://www.sqltutorial.org/sqljoin-innerjoin.aspx ... read »
Feb 10, 2012 at 4:42 AM
Building A Twitter-Inspired RESTful API Architecture In ColdFusion
This is great, very useful Ben. I spotted a small typo in the api.cgm listing: <cfthrow type="Unauthroized" /> Cheers Stefan ... read »
Feb 9, 2012 at 10:35 PM
CFDirectory Filtering Uses Pipe Character For Multiple Filters (Thanks Steve Withington)
I was wondering if there would be a filter you could apply so that you got everything but what you included in the filter. As in show me all docs that are not a .pdf. ... read »
Feb 9, 2012 at 10:29 PM
Learning ColdFusion 9: Application-Specific Data Sources
@Ben, No offence, but if people were really wanting advanced features they would be using a platform like ASP.NET MVC. CFML is so structurally compromised as a tag-based scripting language that ... read »
Feb 9, 2012 at 10:03 PM
Subversion - Cleanup Failed To Process The Following Paths
@Leviaguirre, do you still have problems with this? ... read »