EPISODE · Jul 25, 2017 · 51 MIN
030 Design Patterns for amazing app architecture (16 patterns), with Brad Wood
from ColdFusion Alive
Brad Wood talks about “Design Patterns for amazing app architecture (16 patterns)” in this episode of ColdFusion Alive podcast with host Michaela Light. He is one of the speakers at the CFObjective Conference, a system architect for Ortus Solution and lead developer of the CommandBox CLI. Show notes 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 Builder Object pool Singleton Strategy Composite Decorator Facade Front controller Chain of responsibility Memento Observer (publish/subscribe) Double checked locking Anti-patterns Anemic domain model God object Premature optimization Readable, clear, concise code first Then only optimize code pieces that are slow Improbability factor Honorable mentions 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 MVC 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 Docker Swarm Forgebox DevOps Best Practices CFconfig app Lucee CFML Book Uncle Bob’s clean code Listen to the Audio Bio Brad Wood Brad grew up in southern Missouri and after high school majored in Computer Science with a music minor at MidAmerica Nazarene University (Olathe, KS). Today he lives in Kansas City with his wife and three girls. Brad enjoys all sorts of international food and the great outdoors. 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. Links CFML slack box channel Twitter brad * WWIT= What Would It Take? Interview transcript 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. Read more And to continue learning how to make your ColdFusion apps more modern and alive, I encourage you to download our free ColdFusion Alive Best Practices Checklist.Because… perhaps you are responsible for a mission-critical or revenue-generating CF application that you don’t trust 100%, where implementing new features is a painful ad-hoc process with slow turnaround even for simple requests.What if you have no contingency plan for a sudden developer departure or a server outage? Perhaps every time a new freelancer works on your site, something breaks. Or your application availability, security, and reliability are poor.And if you are depending on ColdFusion for your job, then you can’t afford to let your CF development methods die on the vine.You’re making a high-stakes bet that everything is going to be OK using the same old app creation ways in that one language — forever.All it would take is for your fellow CF developer to quit or for your CIO to decide to leave the (falsely) perceived sinking ship of CFML and you could lose everything—your project, your hard-won CF skills, and possibly even your job.Luckily, there are a number of simple, logical steps you can take now to protect yourself from these obvious risks.No Brainer ColdFusion Best Practices to Ensure You Thrive No Matter What Happens NextColdFusion Alive Best Practices ChecklistModern ColdFusion development best practices that reduce stress, inefficiency, project lifecycle costs while simultaneously increasing project velocity and innovation.√ Easily create a consistent server architecture across development, testing, and production√ A modern test environment to prevent bugs from spreading√ Automated continuous integration tools that work well with CF√ A portable development environment baked into your codebase… for free! Learn about these and many more strategies in our free ColdFusion Alive Best Practices Checklist.
NOW PLAYING
030 Design Patterns for amazing app architecture (16 patterns), with Brad Wood
No transcript for this episode yet
Similar Episodes
Oct 31, 2024 ·12m
Jun 1, 2024 ·28m
May 16, 2024 ·21m
May 8, 2024 ·27m
Apr 29, 2024 ·22m
Feb 28, 2024 ·24m