Andrew, All i can say is that i can totally understand you ... and for the most part, the only thing that has really helped me was to dive in and try to build something of medium complexity using OO style CFC's. And i started with just a few CFC's and tried to get them in place and working and then built out from there, rather than trying to grasp how the whole object model would work in one go. Sure, i'm having to rework things as my understanding grows, but it hasn't been that bad.
But there's a lot to absorb on the way. And I still haven't gone very deep into the MachII framework. I figured the best approach was to parcel it up into smaller digestible bits and take one at a time. I started with CFC's, because that seemed like it would give me a solid foundation to work up from. One of my turning points was reading the comments that were posted in reaction to an article that Sean pointed out on his blog in September. http://www.javaworld.com/javaworld/jw-08-2003/jw-0801-toolbox.html The article makes a lot of sense, and so does the follow-up article on getters and setters. You would *think* that Java developers would have embraced these concepts with their mother's milk. Not so! It was encouraging to me because it blew apart my projection on "Java Developers". So much for the "true OOP experience" ... the comments gave the distinct impression that most Java developers don't get this stuff either, or would rather throw a quick hack together than take the time to work out the model properly. Another little turning point was Sean's blog from the other day ... Design Patterns in ColdFusion. Another is that i'm beginning to see that inheritance is "nearly useless" in CF - well, that's a broad statement, but for the most part it's kinda true, because all that is inherited is the methods. The instance data isn't inherited, because it's only class inheritance, not object inheritance. So if you need the instance data in the subtypes, and you probably will, you still need to pass it down to the subtype using ... you got it, composition. Hence, the factory pattern and the DAO / memento pattern are probably just ways of using composition to create other objects and access your stored data. Compostion, in ColdFusion at least, seems to boil down to passing an instance of an object into an object, OR creating an object within another object. At least that's what i've figured out so far. That and that inheritance is nearly useless ... someone please correct me if i'm wrong. ;-) So i *think* all us newbies really need is a good article - "Implementing Compostion with ColdFusion CFC's" outlining all the different ways of doing it (The Kama Sutra - Composition in ColdFusion) and suggesting scenarios appropriate to one approach or the other, and from there, starting to suggest patterns. Trying to "get it" from the top down, from the concept of the pattern to it's implementation in CF, is going to be very difficult if you're new to this. I found it much easier, once i got there, to start from the bottom, the implementation of composition, and move up toward patterns from there. A few of them are beginning to make sense to me in a very practical way now. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Andrew Scott Sent: Monday, December 08, 2003 7:04 AM To: [EMAIL PROTECTED] Subject: [CFCDev] Difficulty in getting the light bulb to turn on... Hello all, I'm a newbie to the list, although I've been reading the digest for some time now. With that said, I'm beginning to delve into Mach-II and the more detailed design patterns for CFC and application development and am having a great deal of difficulty grasping the concepts. This is in part because a lot of terminology is involved that I'm unfamiliar with (Factory, DAO, etc.). Aside from this list and Sean Corfield's Mach-II development guide, does anyone have other recommendations of information sources? While I realize changes my development architecture to this style will be a great deal more flexible and powerful, it's such a change in mindset that I'm finding things frustrating. Couple that with a lack of true OOP experience (I'm an English Lit major that discovered he loved coding) and I feel like I'm running in circles. Thanks in advance for any help given. Andrew ---------------------------------------------------------- You are subscribed to cfcdev. To unsubscribe, send an email to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev' in the message of the email. CFCDev is run by CFCZone (www.cfczone.org) and supported by Mindtool, Corporation (www.mindtool.com). An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED] ---------------------------------------------------------- You are subscribed to cfcdev. To unsubscribe, send an email to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev' in the message of the email. CFCDev is run by CFCZone (www.cfczone.org) and supported by Mindtool, Corporation (www.mindtool.com). An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED]
