Just 'cause I'm on a run of disagreeing with Jeremy today ... ;)

Jeremy Allen said:
>Since one object merely references something else and does nto
>actually copy the data and get its own set of data
>So, this opens up some interesting possibilities.
>Namely custom data structures among other things.
>CF sucks with recursion still and I would be very afraid to
>use custom tags to manipulate a custom data structure built
>using this method..
>I cant imagine this being overly useful to your average CF
>developer, But I guess in some cases this proves to be
>truly useful.

Most definitely.  For the last project I was on this proved to be
*obscenely* useful.  We essentially ended up loading the entire database
(some 50+ tables from a nice relational DB in 3rd normal form) into memory,
not as queries, but as structures, arrays, lists, etc.  (Okay, so we had the
occasional query stored in memory, too.)  We basically denormalized the
data, in memory, for maximum speed.  Everything started at the Application
scope and just worked its way down through about a dozen layers at its
deepest point.  Using this, we got it down to where we could do massive
reports and use dozens of dynamic objects per page and not have to do a
single database call.  It was lightning fast, and that was one of the major
reasons.

The entire system was (is) strictly CFMODULE-based, and everything only
knows its little piece of the system and doesn't mess with anyone else's.
We would pass in a reference to a branch in the main tree (structure) and
that was all that the module would know about.  It wouldn't care where that
branch actually came from or where it was going, it just needed that data.
Locking was easy because the module would only have to lock that branch if
it was going to modify it, and since each module only modified it's piece of
the system you never had to worry about one module modifying another
module's data.

We essentially combined all the best aspects of CFObject and Fusebox without
any of the baggage.  (And, truth be told, the project was started before
either of those things existed.)  Without references, I don't even know if
that would be possible.  If it would be, I certainly wouldn't want to
maintain the code for it.

And, as my parting blow: it's not CF that sucks with recursion, it's the
programmer.  I've *never* had a problem with recursion (well, none that
wasn't immediately obvious as a "doh!") and I've used it quite a bit.  (I've
said it before and I'll say it again!  :)

-Rick

------------------------------------------------------------------------------
Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.

Reply via email to