In this issue of ColdFusion conference and training news: * New Sponsors * Winners of the "improve our newsletters" contest * Interview with Sean Corfield - Managing ColdFusion Components with Factories CFUNITED is the premier ColdFusion Conference near Washington DC 6/28-7/1/06 (Four whole days!) Check out speakers and topics at http://www.cfunited.com/
- Michael Smith TeraTech, Inc TeraTech is hiring a senior developer to join our growing team http://www.teratech.com/index.cfm?go=About.JobDetail&JobID=7 Conference and training news **************************** * Upcoming classes CF202 - Web Accessibility and 508 Feb 21 2006 FB101 - Intro to Fusebox Feb 28 2006 MS01 - Avoiding web disasters Mar 1 2006 FB201 - Intermediate Fusebox Mar 7 2006 CF206 - ColdFusion SQL Skills Mar 14 2006 Cost $59 - $349 see http://www.teratech.com/training/ for more details and registration CFUNITED NEWS! * New Sponsor: Edgewood Solutions If you would like to become a sponsor, see more information on our CFUNITED website. * Schedule Posting and new pre-conf class information coming soon * Winners of the contest are Russell Youngblood and Mark H. Morrison. Most common suggestion "Format the newsletter in HTML" OK! We will work on that idea, so keep an eye out for our cool newsletters soon. * Those of you who went to CFUN-03 may remember the dynamic keynote speaker Steve Shapiro who spoke about SpeedInnovating(tm). He also mentioned that he was interviewing 150 interesting people all around the US in a 3 month road trip for his next book - the book is finally out and is called Goal Free living. Here is an exert. "We are taught from a young age that in order to achieve great success we must set and achieve our goals. However in doing so, we become focused on where we are going rather than enjoying where we are right now. We sacrifice today in the hope that a better future will emerge, only to discover that achievement rarely leads to true joy. Goal-Free Living presents an alternative philosophy - that we can have an extraordinary life now, all without goals and detailed plans. By living for each moment, itÂ’s possible to have a successful life and follow your passions at the same time." Check it out at http://www.goalfree.com/ ****************************** And now our CFUNITED spotlight interview. Michael Smith: This time we are talking with Sean Corfield about his CFUNITED-06 talk "Managing ColdFusion Components with Factories". So why should a developer come to your session Sean ? Sean Corfield: ColdFusion developers are increasingly picking up ColdFusion Components and one of the pain points they encounter is how to make the right data available to all the right CFCs. In this talk I will show the sort of problems that developers tend to encounter as they use CFCs more and more as well as some of the techniques for solving, or at least alleviating, those problems. Michael Smith: Why is it hard to make the right data available? Sean Corfield: Before you learn object oriented programming (OOP), you tend to put application- specific configuration data in the shared 'application' scope and just reference application scope wherever you want. Michael Smith: And you don't do that with OOP? Sean Corfield: Well, you can but it really isn't good practice. OOP is all about encapsulation - both hiding the object's data from the outside world as well as protecting the object from the environment. Shared scopes are part of the environment. If you use 'application' scope directly inside a CFC, then that CFC has a dependency on its environment. Michael Smith: That's bad, isn't it? Sean Corfield: It makes it harder to reuse the CFC. Suppose you write a CFC that handles data access - it contains a bunch of tags. Most people's first attempt is to put the data source name in 'application' scope in their Application.cfm file and just refer to it in the CFC: Michael Smith: To reuse the CFC, I'd have to set up that application variable in all my applications. That doesn't sound so bad. Sean Corfield: But maybe you have an existing application that doesn't already use 'application.dsn' and want to reuse this CFC? Or maybe you have an application that has to deal with two or more data sources? Michael Smith: Oh, I see. Yes, that would make it harder to reuse. Sean Corfield: So the solution is to pass the data source name into the CFC, usually when you create it. Michael Smith: Right, so we've solved the problem. What has that got to do with factories? Sean Corfield: We haven't solved the problem yet. Michael Smith: We haven't? But... Sean Corfield: No, we just moved the problem elsewhere. Michael Smith: But now we can just create the CFC and tell it to use 'application.dsn' in one application and 'application.datasource' in another can't we? Sean Corfield: Which means you have moved the dependency from inside the CFC to the code that creates it... Michael Smith: ...and that might be inside another CFC? Sean Corfield: Exactly! So what do we do next? Michael Smith: We have to pass the data source name into that CFC as well. Hmm, I can see how you can end up passing all sorts of data through all those CFCs. That's ugly! Sean Corfield: Here's where factories come in... Michael Smith: At last! Sean Corfield: A factory manufactures things - in software, our factories "manufacture" objects. We move all of the dependencies and initialization into a factory and then our application just asks the factory for the objects it needs. Michael Smith: And 'application.dsn'...? Sean Corfield: The factory is created at application startup - in Application.cfm or Application.cfc - and can be initialized with the data that any objects may need later on. Michael Smith: So the same piece of code that sets up 'application.dsn' also sets up the factory and passes 'application.dsn' into it? Sean Corfield: That's right. And if you want to reuse those CFCs in another application, you just add the factory creation code to that application and tell it which data source to use. Michael Smith: What about your example with two data sources? Sean Corfield: That's where we get into some more advanced techniques for managing CFCs and some smarter factories. Michael Smith: I suppose we have to attend your talk to learn about that? Sean Corfield: It wouldn't do to give everything away before the conference... Michael Smith: Alright then, I'll make sure to attend your session! You can see more interviews at http://www.cfunited.com/interviews.cfm CFUNITED-06 is Wed 6/28/06 - Sat 7/1/06 in Bethesda MD, just outside Washington DC. It costs $649 until 1/31/06 then $749. For more information on CFUNITED see http://www.cfunited.com/ --- Managing ColdFusion Components with Factories ************************* As everyone rushes to adopt CFCs as "the" way to build the core of their ColdFusion applications, they have to deal with creating, initializing and linking those components - resolving dependencies and managing their lifecycle. This talk will show how to simplify CFC lifecycle management by using various forms of a common pattern - the factory - including factory frameworks such as ChiliBeans and ColdSpring. Speaker Bio: Sean has worked in IT for over twenty years. He started out writing database systems (in Assembler) and compilers (in various languages, including COBOL!) before moving in mobile telecoms and then finally into web about eight years ago. Along the way, he worked on the ISO and ANSI C++ Standards committees for eight years but then turned to Java (in '97) and gave up C++. Although, he still maintains one of the textbook reference websites: C ++ - Beyond the ARM. Sean is a staunch advocate of software standards and best practice. He wrote C++ coding guidelines for several companies during the 90's and more recently maintaining the Macromedia ColdFusion MX Coding Guidelines and Mach II Development Guide, which are also published for the ColdFusion community. He has also given several seminar talks, both in- house and publicly, on these subjects. Sean has championed and contributed to Mach II and is also a member of Team Fusebox. * Speakers include top names like Simon Horwith, Charlie Arehart, Hal Helms, Michael Dinowitz, Ray Camden and many more respected CF authors and presenters. * Great tracks: * Bootcamp - Basic ColdFusion and Flash topics * Advanced - Advanced ColdFusion topics * Manager/Empowered - Fusebox and Project management topics * Flex/RIA - Flash, Flex and other technologies integrated with CF topics * Accessibility / usability - section 508, CSS and disabled access * Deployment/Platform - tuning, install issues, OS, picking a database * Included in your full conference registration is the following: * Attendence for 4 days (6/28/2006-7/1/2006) * Keynote and General Sessions * All conference sessions including repeat sessions on Saturday * Entrance to Expo Area * Networking Events * Badge and Badge holder with bar scan code * Free Lunch for each show day (Dinner is not included) * Access to all presentations after the event, including all the recordings. * Promotional bag with materials including show guide, CD, coupons, etc. * Opportunity to participate in all raffle drawings * Can't stay 4 days Wed - Sat? Optional 3-day and Saturday only packages available too. Saturday will consist of repeats the most popular sessions from the week - something many attendees asked for last year! * The early bird price of $649 for CFUNITED-06 ends 1/31/06. Price expires 4-day 3-day Saturday-only Early Bird 01/31/2006 $649 $549 $249 Timely Bird 03/31/2006 $749 $649 $299 Regular 06/16/2006 $849 $749 $349 Late 06/28/2006 $949 $849 $399 Door 06/29/2006 $1049 $949 $449 Save upto $400 by registering now! Register today at http://www.cfunited.com/ -- Michael Smith, TeraTech Inc - Tools for Programmers(tm) TeraTech voted Best Consulting Service by CFDJ readers! CF/ASP Web, VB, Math, Access programming tools and consulting 405 E Gude Dr Ste 207, Rockville MD 20850 USA Please check out http://www.teratech.com/ - email mailto:[EMAIL PROTECTED], or call us for more information; in the USA at 1-800-447-9120, +1-301-424-3903 International, Fax 301-762-8185 Thanks! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:231392 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=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54