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  |  Permalink  |  Other Searches  |  Print Page


You Might Also Be Interested In:



Learning ColdFusion 9 - ColdFusion 9 tutorials, samples, examples, demos

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 »
6,516 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 »
6,516 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 »
14 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 »
1 Comments

Great Job! Keep up the good work!


Post Comment  |  Ask Ben

Recent Blog Comments
Nov 20, 2009 at 11:32 PM
Five Months Without Hungarian Notation And I'm Loving It
I've used headless camel case for years for not only ColdFusion variables, but also SQL tables and fields... pretty much everything involving code. I also subscribe to the "don't abbreviate and clea ... read »
Nov 20, 2009 at 11:00 PM
Five Months Without Hungarian Notation And I'm Loving It
@Marcel, Yeah, I always err on the side of longer but more readable variable names. As for the camel casing of CF methods and the headless camel casing of custom items, I get around this by always ... read »
Nov 20, 2009 at 10:56 PM
Five Months Without Hungarian Notation And I'm Loving It
I use the following and love it: my.namespace.MyComponents.functionMethodsOrUDF() CONSTANT_VALUES_OR_PROPERTIES One thing I always try is to CamelCaseBuiltInColdFusionFunctions() so others can tell ... read »
Nov 20, 2009 at 5:38 PM
Learning ColdFusion 8: CFImage Part I - Reading And Writing Images
Hi Ben, Great article. I've been looking around to see if ColdFusion image engine can programatically create the following "wrap around" effect: http://www.creativepro.com/article/photoshop-s-she ... read »
Nov 20, 2009 at 5:35 PM
Maintaining ColdFusion Sessions Across SMS Text Message Requests Without Cookies
@Dave: I talked to Gert he suggested: <cfhttp method="get" url="http://{some cf website}" result="stuff" addtoken="yes" /> Note the addition of cfhttp attribute addtoken. That should persist y ... read »
Nov 20, 2009 at 5:23 PM
Maintaining ColdFusion Sessions Across SMS Text Message Requests Without Cookies
@Todd, Ahh, gotcha, yeah that makes sense. ... read »
Nov 20, 2009 at 5:17 PM
Maintaining ColdFusion Sessions Across SMS Text Message Requests Without Cookies
Ben, sorry if I didn't make this clear. You can make it work like that if you want, just put <cfset session.foo = 1> (and <cfset application.foo = 1>) in your OnRequestStart() and it reve ... read »