Mike, Thanks for the encouragement. I looked at some examples that use DAO, and I have looked into other Design Patterns too. At first I thought that CFC's were nothing more than collections of functions. Now that I am learning Java at the same time, I am realizing that there is much more to it than that. I really don't like the idea of learning a specific framework such as Mach II, Fusebox, etc. I also don't like the idea of learning Design Patterns such as DAO, Decorater, Composite, etc. It seems like all that is overkill, but I'm sure that many on this list can bombard this thread with their witness to the benefits of using a tested framework and design pattern. I'm just very exhausted, have stretched my deadline, and don't know when I will be able to bring all this to an end.
I would love it if I were where you are now, even though I am sure you still have much to learn too. I have four websites that all belong to the same organization (which I work for). I would like to build the main site, and then just port various elements such as the user registration, newsletter subscription, and relevant product offers from the shopping cart to the sub sites. I am also being asked to create an audio and video podcast, as well as a webservice for pushing articles to other sites and aggregators. This is a huge project, and my employer is wandering why it is taking so long. They are pressing me to just use a open source projects, but most of the opensource stuff is php and each feature requires a seperate database. Besides, I want to learn how to do all this and I know that I'm not too far away from doing it, but the task is daunting and CFC's are proving to me much more complicated and confusing than I thought. uhhh... -Aaron On 2/16/06, Mike Kear <[EMAIL PROTECTED]> wrote: > Aaron, Can offer this suggestion to you - you seem to be where I was not > too long ago ... persevering with it is WELL worth the effort. > > When I started tinkering about with CFCs, I used them as a collection of > functions. A bit like I had been including a cfm file containing a library > of common functions for some time already. The CFC approach seemed to be > pretty easy and basically the same thing, and I couldn't really see the big > benefit of it. It just seemed to be another way to do the same thing I'd > been doing for years. Big deal. > > Then I started playing with Mach-ii, and I jumped in too far, too deep and > it was beyond me. I retreated for a while and just continued using CFCs as > libraries of functions. I came back to it every so often, because it was > such a major and frequent topic on lists like this I figured there had to be > far more to it than I realised. > > Gradually the light went on.and it all started to make some sense to me. > For someone who has learned everything 'on the job' and who has no formal > training in IT, that's kind of how I've learned almost everything I know. > Anyway, here's where I am now, and what I think has been the return for me > .....(sorry if this is stating the obvious to those who already 'get' OOP) > > In January, I built a Content Management System entirely using the OOP > techniques I have learned so far. No doubt people more experienced than I > or with more formal study on OOP could pick holes in what I've done, but > look at what the effort's done for me: > > > - I built the whole CMS from scratch in two weeks. Maybe it's not as > complex as farcry perhaps but it's delighted at least one client so far and > I know for sure it's far easier for novices to use. I was able to build a > couple of code generators to automatically take care of a lot of the > tedious > typing too. > - Using OOP concepts, I have built it so that logic and business are > fully separated from display elements and also from the content. Now I > have an easily portable core I can use and reuse. I've rebuilt my own > site (not yet deployed) in half a day, including plenty of customising. > I > expect to rebuilt 3 probono sites over the weekend and still have time for > some woodwork and a beer or two. > - Using this method forced me to think about the project differently. > The whole project became far clearer in my mind, and building it was much > easier. Instead of dealing with a large complex project, i was dealing > with > a whole lot of little tiny bits. Create an object, populate it with > data, > pass it to a CFC to do something with it, pass it back. It's kinda fun > to > see these bundles of data flying about my sites. > - Each element is self-contained and if you get it right, ensure > errors are trapped and dealt with, it's very robust. Build 50 small > elements all of whom are extremely robust and independent of the others, > and > your whole system is far more robust than I'd been used to previously. > It's > just neat to know that when I call the create() method, it's going to > bloody > well WORK, because I already made sure the create() method works when I > wrote the DAO cfc. Almost completely gone is the error that drove me CRAZY > in earlier days - "the <variable name> is undefined". I hated that. Now > variables almost always have a value, and all I have to do is make sure > it's > the correct value. > - Maintenance far easier and quicker. In the past, to add a field to > a table, meant changing the table, changing the SQLstatements there, and > there, and there, changing the form there, and there, and there, and that > action page, also that one and that one, and inevitably I'd miss a change > somewhere. Testing was a tedious process. Now, using OOP I have only > one file where SQLstatements are, one form, one bean, maybe a couple of > places where the data is manipulated. Adding a column is a piece of cake, > and I can easily identify where the changes will have to be. > - When I think of a new idea, or the client wants something changed, > it doesn't worry me as much as it used to. In the past, I'd catch myself > thinkiing "oh no I dont want to go into that stuff again . I'm going to > have > to change that and that and that and the other thing, and test all that > stuff all over again ... " And I'd find when I started work that there > were far more strings of spaghetti crossing that area than I thought. > Now, a change is nowhere near as difficult. And changes in one area are > far less likely to impact on other areas. With every aspect of my CMS > encapsulated in a little single-function bubble of its own, blind to > everything going on around it except what it needs to know, I can make > changes, knowing in advance exactly what files are going to be affected > and > where changes are going to be needed. > - > > Aaron this doesnt answer your specific question I know, but I just wanted to > tell you that it can be confusing, seems at times like it's a lot of typing > to do something pretty simple, but it's worth the effort. I remember > sitting back thinking, just like that Honda tv ad ... "isnt it great when > things just WORK" first time!! > > Cheers > Mike Kear > Windsor, NSW, Australia > Certified Advanced ColdFusion Developer > AFP Webworks > http://afpwebworks.com > > > On 2/17/06, Aaron Roberson <[EMAIL PROTECTED]> wrote: > > > > Thank you James, > > > > I think I might climb out of this one. Things are still a bit ethereal > > in my mind but I think I am begining to grasp it much more now. I > > would like to see a mock-up of the code inside the component using > > srategy number 2. Perhaps some comments explaining the relationship > > between the data in the psuedo-constructor with the set method and the > > relationship between the set method and the insert method would help. > > Of coarse, I can't expect anything since you have been entirely too > > kind already to help me out thus far ;) > > > > -Aaron > > > > P.S. I have been studying up on CFC's and trying to write code for > > about two-three weeks now and all I have is four, half-written > > components. I don't think I would ever get this if I wasn't working on > > it from 8-5 Monday thru Thursday and if I didn't have resources such > > as this list, multiple tutorials, books, and a subscription to vtc.com > > and communitymx.com. > > > > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:232677 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

