TeraTech

The ColdFusion Experts: Develop | Secure | Optimize

  • Services
  • About
  • CF Alive
  • Blog
  • Podcast
  • Contact

  • Services
  • About
  • CF Alive
  • Blog
  • Podcast
  • Contact

005 Dependency Injection, why is it awesome and why should I care? with Nolan Erck

April 6, 2017 By Michaela Light 1 Comment

Nolan Erck talks about “Dependency Injection, why is it awesome and why should I care?” in this episode of ColdFusion Alive Podcast with host Michaela Light. Nolan has been developing software professionally for more than 19 years, starting in the video game industry as a Tools Programmer advancing to web development in 1999. He has worked on high profile projects for LucasArts, Maxis, Lisa “Left Eye” Lopes, Schools Credit Union, and Alive N Kicking Magazine among others. His list of credits includes Grim Fandango, Star Wars: The Phantom Menace, SimPark, and SimSafari, as well as high-traffic websites for a variety of technology-based companies.

“The bigger your app gets, the more CF components you'll have, the more you run into cases where in order to build one component you might have to create three or four other components first and then stick them inside the main master component you're dealing with.” – Nolan Erck

Contents

  • Episode highlights
  • Mentioned in this episode
  • Speaker details
  • Links
  • Interview Transcript

Episode highlights

  • What is Dependency Injection?
  • When / why would I use this in my projects?
  • Intro to Aspect-Oriented Programming (or AOP).
  • Intro to Inversion of Control (IOC).
  • What is “Bean Management”?
  • Why are you proud to develop in CF?
  • What are you looking forward to at Into The Box?

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 Next

ColdFusion Alive Best Practices Checklist

ColdFusion Alive Best Practices Checklist

Modern 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.

Mentioned in this episode

  • LucasArts
  • Maxis
  • Lisa “Left Eye” Lopes
  • Schools Credit Union
  • Grim Fandango
  • Star Wars: The Phantom Menace
  • SimPark
  • SimSafari
  • SacInteractive User Group
https://traffic.libsyn.com/coldfusionalive/CF_Alive_Podcast_Nolan_Erck.mp3

Podcast: Play in new window | Download | Embed

Subscribe: Apple Podcasts | RSS

Speaker details

Nolan currently co-manages the SacInteractive User Group and is an active member of the Web Developer community, giving presentations on Object-Oriented Programming and Web Development for groups across Northern California. Nolan is also certified in Adobe ColdFusion, and is an in-demand consultant, providing training and development experience for a variety of companies. When he's not consulting or talking about himself in the third person, Nolan can usually be found working on one of several music projects.

Nolan is also one of the speakers for the upcoming Into The Box  ColdFusion Conference, where he will talk about Dependency Injection.

Links

  • GitHub
  • South of Shasta
  • Twitter
  • LinkedIn

Interview Transcript

Michaela Light:               Back to the show. I'm here with Nolan, and he is gonna be telling us all about dependency injection, and various ways you can do it in ColdFusion, and why you'd want to do it, and what it is. And we're going to be looking in detail at that. He's giving a talk at Into the Box, coming up in about a month's time now. Exciting stuff. Nolan has been developing for nearly 20 years now, and he actually started off creating video games, and even worked on the Star Wars video game at Lucas Arts, and shook hands with George Lucas one time. Several times, in fact. Since then, he's been doing ColdFusion and a lot of object-orientated stuff, so welcome Nolan.

Nolan Erck:                      Thank you. Thanks for having me.

Michaela Light:               Dependency injection. I know a lot of people don't really use it or aren't quite sure why they should use it, and yet when we did our recent State of the ColdFusion Union survey, 90 percent of people are using CFSs, but less than 50 percent are doing any dependency injection. So tell us what it is and why we should be using it.

Nolan Erck:                      Right. Yeah, I have seen similar stats before too. So I think a lot of people are using SF components as just a way to sort of dump CF functions into a little container and- not using components for much more than a glorified function library. Which is a good starting point for components, but there is a lot more you can do with them after that. So once you get comfortable with components and you have different CFCs that solve different types of problems, you might have one that handles talking to your user table in the database, you might have one for handling security in the application, making sure users are logged in and out, and that sort of thing.

                                            The bigger your app gets, the more CF components you'll have, the more you run into cases where in order to build one component you might have to create three or four other components first and then stick them inside the main master component you're dealing with. For example, maybe something like a user component that handles everything that for a user in your app- that user might have to have a security system to take care of making sure they're logged in and out of the system properly, maybe some sort of permissions component that handles- not only is the user logged in, but which sections of the application are they or are they not allowed to deal with.

                                            You might have some sort of logging mechanism in the app that handles- okay, as the application is being debugged, logs certain activity to a log file so we can check that out later and see if there are any problems in the app and so on. So the more components you get, the more you have cases like that, where one user component will depend on three, four, maybe five or six other components being created first and then handed to that user component so that they can all work together. You can do all of that manually in ColdFusion, calling the CreateObject function six, seven, eight, nine times, and connecting all those things together, but that gets very repetitive very quickly and adds for a lot of boilerplate code in your application.

Read more

Related Posts

  • July's MDCFUG LunchJuly's MDCFUG Lunch
  • TeraTech wins better consulting award from CFDJ magazine fifth year in a rowTeraTech wins better consulting award from CFDJ magazine fifth year in a row
  • ColdFusion 9 DetailsColdFusion 9 Details
  • Best wishes for the new FuseboxBest wishes for the new Fusebox
  • 062 Scaling Your ColdFusion Applications (Clusters, Containers and Load Tips) with Mike Collins- Transcript062 Scaling Your ColdFusion Applications (Clusters, Containers and Load Tips) with Mike Collins- Transcript
  • 014 NGINX: A Smart Middle Man Between Your App and Your Users, with Kevin Jones014 NGINX: A Smart Middle Man Between Your App and Your Users, with Kevin Jones
  • Facebook
  • Twitter
  • LinkedIn

Filed Under: CF Alive Podcast, IntoTheBox Conference

← Previous Post 004 Performance Tuning and the Future of Lucee with Gert Franz – Transcript
Next Post → 005 Dependency Injection, why is it awesome and why should I care? with Nolan Erck- Transcript

Subscribe on iTunes

CF Alive Best Practices Checklist

 

Modern ColdFusion development best practices that reduce stress, inefficiency, project lifecycle costs while simultaneously increasing project velocity and innovation.

Recent Posts

  • 4 Reasons Why Your ColdFusion Web Apps Are Suffering (And How To Avoid It)
  • Google Down – An Unprecedented Event (Save Your Data Fast!)
  • 107 ColdFusion 2021 Revealing Details on How it was Created with Rakshith Naresh
  • Into The Box LatAm 2020 Virtual Conference – Free to Register!
  • Slow ColdFusion Applications May Ruin Your Business (3 Steps to Prevent It)

Categories

  • ActionScript
  • Adobe CF Summit
  • Adobe CF Summit East
  • Adobe CF Summit East 2018
  • Adobe ColdFusion 11
  • Adobe ColdFusion 2020 Beta
  • Adobe ColdFusion 2021
  • Adobe ColdFusion Project Stratus
  • Adobe ColdFusion Security
  • AIR
  • Ajax
  • AngularJS
  • Announcement
  • API
  • Apollo
  • Auto Security Lockdown
  • AWS
  • C#
  • Certification
  • CF Alive
  • CF Alive Book
  • CF Alive Podcast
  • CF Camp
  • CF Developer week
  • CF Maintenance
  • CF Summit India
  • CF Tags
  • CF Training
  • CF Vs. Other Languages
  • CFEclipse
  • CFML
  • CFML Open- Source
  • CFObjective
  • cfquery
  • CFSummit
  • CFUnited
  • China Chopper
  • CIO
  • Classes
  • Client Highlights
  • ColdBox
  • ColdFusion
  • ColdFusion 2018
  • ColdFusion 2020
  • ColdFusion 2021
  • ColdFusion 9
  • ColdFusion community
  • ColdFusion Conference
  • ColdFusion Consulting
  • ColdFusion Developer
  • ColdFusion Development
  • ColdFusion Hosting
  • ColdFusion Security
  • ColdFusion Webinar
  • CommandBox
  • Conference
  • Cool Stuff
  • Culture
  • Cybercrime
  • Database
  • Development Approach
  • DevOps
  • Docker
  • Fixinator
  • Flex
  • Frameworks
  • Fusebox
  • FusionReactor
  • Futurology
  • Garbage Collector
  • Google Down
  • Into The Box Latam
  • IntoTheBox Conference
  • Java
  • JavaScript
  • JVM
  • Learn ColdFusion
  • Legacy Code
  • Load Testing
  • Lucee
  • Management
  • MAX
  • MDCFUG Lunch
  • Microsoft Azure
  • Mindmapping
  • MockBox
  • Modernize ColdFusion
  • Monitoring
  • Muracon
  • NCDevCon
  • New Intern
  • News
  • Node.js
  • Open- Source
  • ORM
  • Ortus Developer Week
  • Ortus Roadshow
  • Performance
  • Performance Tuning
  • PHP
  • Productivity
  • Programming Languages
  • Project planning
  • Query of Queries
  • Roadmap
  • Scalability
  • Security
  • Server Software
  • Server Tuning
  • Social Media
  • Spiral Web
  • SQL
  • Success Story
  • Survey
  • Technology
  • TestBox
  • Tips
  • Transcript
  • Trapeze Development
  • Uncategorized
  • Web 2.0
  • Web Application
  • Web Server
  • Webinar
  • Webmail
  • What is ColdFusion?
  • Whole Brain Development
  • Women in Tech
  • Work From Home

Recent Comments

  • Michaela Light on A Comprehensive Guide to Running a Successful CFML Project
  • Michaela Light on Is Lucee CFML now better than Adobe ColdFusion?
  • Michaela Light on Introducing Swansea Jack (Lucee CFML 6 announced)
  • Michaela Light on 082 ColdFusion and the Blockchain Revolution with Mike Brunt
  • Michaela Light on 082 ColdFusion and the Blockchain Revolution with Mike Brunt
  • Home
  • Services
  • About Us
  • CF Alive
    • CF Alive Book
    • CF Alive Inner Circle
    • CF Alive full resources cheatsheet
  • Blog
  • Podcast
    • Podcast Guest schedule
  • Contact
  • Sitemap

The ColdFusion Experts:
Develop, Secure, Optimize

TeraTech Inc
451 Hungerford Drive Suite 119
Rockville, MD 20850

Tel : +1 (301) 424 3903
Fax: +1 (301) 762 8185

Follow us on Facebook Follow us on LinkedIn Follow us on Twitter Follow us on Pinterest Follow us on YouTube

Copyright © 1998–2021 TeraTech Inc. All rights Reserved.