ColdFusion as a Different Type of "Glue" - cf.Objective() presentation - and real world OO

Posted By: Brian Meloche; Posted At : May 10, 2008 4:07 PM

Related Categories: ColdFusion, Speaking, Conferences

For those of you who have requested it, here is a copy of my presentation from cf.Objective().

People seemed to enjoy the presentation. The presentation deals with using ColdFusion to interact with an ERP system. The problem is complex enough that sample code is not really possible without a lot of work, so this presentation did not have code. I didn't get a lot of complaints about that because the session was detailed enough that it didn't NEED code.

One thing that I hit on during the presentation that has more of a wider scope and was also covered by Nic Tunney in his preso. My idea is simple: You really shouldn't try to make ColdFusion do things it's not good at doing.

ColdFusion bogs down when it needs to create a lot of objects. If you are retrieving a LARGE result set for read only purposes, you shouldn't create an array of objects. If a query will do, use a query. If not, use an array of structures. I will often add a getWidgetsAsQuery or getWidgetsAsArrayOfStructures service method and create a transfer object (not to be confused with Mark Mandel's Transfer) to give me the ability to create an array of structs instead of creating an array of objects. When you are dealing with a class with many methods and/or a large array, you will get a big performance hit, even in ColdFusion 8. On add/edit/deletes, a bean is well suited, but not on gateway style selects. You can try to get around that by going around it and doing your model in Java, but, to me, that doesn't seem like a great idea unless you NEED to (sorry, Andy P!), as doing that gives up what ColdFusion is best at in the first place - Rapid Application Development. Instead, work to ColdFusion's strengths would be my suggestion. I may be criticized by some as not being a "thought leader", but that's a crock of sh*t as far as I am concerned. As my slide says, I am not a Spock when it comes to being a CF developer. I'm a Scotty, and I'll take real world experience (using sound fundamentals) over theoretical constructs every day. During pure OO in ColdFusion is just that - a theoretical construct - and it fails in real world situations. Use OO where it makes sense, which is in MOST places, but don't try to use it everywhere in every situation.

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)

Hosting provided by...

Hosting provided by hostmysite.com

Calendar

<< July 2010 >>

Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Archives By Subject

  • About Me (41) [RSS]
  • ActionScript (1) [RSS]
  • Actuate (1) [RSS]
  • Adobe (16) [RSS]
  • Adobe Community Professionals (2) [RSS]
  • AIR (1) [RSS]
  • AJAX (1) [RSS]
  • Animals (11) [RSS]
  • Articles (2) [RSS]
  • ASP (1) [RSS]
  • Blogging (14) [RSS]
  • BlueDragon (2) [RSS]
  • Canadian-American (1) [RSS]
  • CFConversations (16) [RSS]
  • Cleveland (3) [RSS]
  • Cleveland AUG (20) [RSS]
  • Cleveland CFUG (23) [RSS]
  • ColdFusion (78) [RSS]
  • Conferences (33) [RSS]
  • Design (3) [RSS]
  • Dreamweaver (1) [RSS]
  • Eclipse (1) [RSS]
  • Flash (2) [RSS]
  • Flex (10) [RSS]
  • Frameworks (7) [RSS]
  • Fusebox (1) [RSS]
  • J2EE (1) [RSS]
  • JavaScript (1) [RSS]
  • Jobs (2) [RSS]
  • LightFront (6) [RSS]
  • Linux (2) [RSS]
  • Mac (3) [RSS]
  • Mach-ii (9) [RSS]
  • Macromedia (9) [RSS]
  • MAX (34) [RSS]
  • Notes to Self (1) [RSS]
  • Open Source (7) [RSS]
  • Personal (16) [RSS]
  • Podcasts (23) [RSS]
  • Politics (1) [RSS]
  • Railo (0) [RSS]
  • Random Musings (10) [RSS]
  • Reality TV (1) [RSS]
  • Social Networking (1) [RSS]
  • Speaking (7) [RSS]
  • Subversion (2) [RSS]
  • Tech News (2) [RSS]
  • Technology (2) [RSS]
  • Tutorials (1) [RSS]
  • User Groups (22) [RSS]
  • Videos (1) [RSS]
  • Weight Loss (4) [RSS]
  • Windows (0) [RSS]
  • Work (8) [RSS]
  • Search

    Twitter Updates
    Follow me!

      RSS

      Subscribe

      Enter your email address to subscribe to this blog.

      Tags

      about me adobe animals blogging cfconversations cleveland aug cleveland cfug coldfusion conferences flex max personal podcasts random musings user groups

      Recent Comments

      LightFront 0.4.4 has been released, and... my CFObjective talk...
      maertsch said: great presentation. really cool anti-mainstream but with lots of facts. i have learned a lot. thanks... [More]

      LightFront: The incredibly simple & approachable MVC Framework for ColdFusion
      tech said: Thanks for work! Good article. I am a junior developer and wanna to try the LightFront =) [More]

      LightFront - New Video Series - Getting Started with LightFront
      Brian Meloche said: As they say, "it's not you, it's me". :-) I thought everything worked as it should. I'll h... [More]

      LightFront - New Video Series - Getting Started with LightFront
      Derek said: I believe 1600x1200. 24" monitor. Not at home to check, but looks like u gotten taken care of n... [More]

      LightFront - New Video Series - Getting Started with LightFront
      Brian Meloche said: I must have a newer version of the Flash player or something. I was able to replicate the problem. I... [More]

      Podcasts I Listen To...

      Active Podcasts
      CFConversations (My Podcast)
      CFPanel (technically not a podcast, but close enough!)
      RIA Podcast
      CFHour()
      The Flex Show
      Non-active CF/Flex Podcasts (still worth a listen)
      ColdFusion Weekly
      The ColdFusion Podcast
      Helms and Peters Out Loud
      Other Podcasts
      This Week in Tech (TWiT)
      Windows Weekly with Paul Thurotte
      MacBreak Weekly
      Net @ Nite
      Slashdot Review
      Ruby on Rails Podcast (I'm not a Rails developer, but it's always a good idea to stay in touch with the competition!)
      Web Design Podcast from boagworld.com
      Practical Web Design Magazine