How unique is the problem you're coding for right now? What's the chance it's been solved hundreds, maybe thousands of times? Is your solution the best way? You've no doubt heard other developers talk about using "design patterns". These are reusable solutions to the problems that we all face as developers. The best thing is that most patterns can carry over from one language to another. It's a great idea to familiarize yourself with these common solutions so you identify them and know when you plug them into your apps.
Let's take a pragmatic look at exactly what design pattern are -- and aren't! The more you learn, the bigger toolbox you're building that you can dip into to solve problems. You'll also start to notice these familiar designs in frameworks and other people's apps. Learning to recognize common patterns, their names, and when to use them will grow you as a developer, stretch your thinking outside the box, and make you better at what you do. A solid OO background will really help you, and most of what we cover will be generic to any language. Expect to cover some of the most common design patterns along with examples and their pros and cons with examples in CFML.