Brad Wood talks about “Design Patterns for amazing app architecture (16 patterns)” in this episode of ColdFusion Alive podcast with host Michael Smith.
- What is a design pattern?
- Why should you be using them in your projects?
- Commons solutions to common problems
- Becoming a better software craftsman
- Architect better apps
- Command box 2-day training
- Extending Command box
- Why are you proud to use CF?
- WWIT for you to make CF more alive this year?
- What are you looking forward to at CFObjective?
Patterns to talk about
- Object pool
- Front controller
- Chain of responsibility
- Observer (publish/subscribe)
- Double checked locking
- Anemic domain model
- God object
- Premature optimization
- Readable, clear, concise code first
- Then only optimize code pieces that are slow
- Improbability factor
- Law of demeter
- Not too many dots in lines of code for class use
- Too many dots make you dotty
- Principle of least astonishment
- Brook’s Law
Mentioned in this episode
- Design patterns
- book Design Patterns: Elements of Reusable Object-Oriented Software was published in 1994 by the so-called “Gang of Four”
- Code Complete is a software development book, written by Steve McConnell
- Book Mythical Man Month by Albert Brooks
- Command box training
- Sean Corfield article on Anemic domain model in the ColdFusion Quarterly
- Cyclomatic complexity
- Code smell
- WORM = Write Once, Read Many code
- FusionReactor auto profiler
- Jenkins run time test recording
- Command box 3.7 directory watchers
- Testbox code coverage (with FusionReactor)
- Travis CI
- Docker Swarm
- DevOps Best Practices
- CFconfig app
- Lucee CFML
- Book Uncle Bob’s clean code
Michael: Welcome back to the show. I'm here with Brad Wood and he is the amazing application system architect for Ortus Solutions as well as being evangelist for many of their Box products. Today, we’re going to be talking about design patterns so you can have amazing architecture in your apps and there's a whole bunch of patterns we're going to look at. We’re going to look at just in case you’ve been asleep for the last 20 years and missed what a design pattern was and how it affects coding. We’re going to look at that and why you should be using them and how they can be common solutions to common problems and help you produce better code in less time.
In fact, generally, just become better software craftsman and architect apps better. Also, we'll briefly look into the CommandBox two-day training that Brad is doing before the cfObjective conference. He's giving a talk on design patterns at cfObjective which is only weeks away now so, very excited for that. Welcome Brad.
Brad Wood: Thank you, Michael.
Michael: Just for folks who don't know, what is design pattern and I'm assuming it's nothing to do with design and Photoshop and all that, It's all to do with coding.
Brad has been programming ColdFusion since 2001 and has used every version of CF since 4.5. He first fell in love with ColdFusion as a way to easily connect a database to his website for dynamic pages. He enjoys configuring and performance tuning high-availability Windows and Linux ColdFusion environments as well as SQL Server. Brad is the ColdBox Platform developer advocate at Ortus Solutions and lead developer of the CommandBox CLI.
* WWIT= What Would It Take?
PS What are the first steps you take for preventing the ColdFusion project problem? This awesome Checklist is the best next step…