addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1linklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Dependency Injection, Why Is It Awesome and Why Should I Care - Nolan Erck

Dependency Injection is a very common pattern used in modern web development. It's not specific to Java or ColdFusion or JavaScript...but it's equally awesome in all of those! And in other languages too! We'll look at some of the problems that Dependency Injection helps to solve; we'll look at some related concepts such as "aspect oriented programming" (AOP), and inversion of control (IOC); and show you how adding a DI framework to your app might be just the magic your app needs!

Target Audience

People that want to know what Dependency Injection is and when/why I should use it. You've heard other terms like "inversion of control" and "aspect oriented programming" thrown around and aren't sure what they mean. Maybe you're a FW/1 user and want to know why everyone is excited that the new version of FW/1 will include DI/1. Or you just want to know what ColdSpring does -- we'll cover that too. (This talk will not be ColdFusion specific. Java and JavaScript programmers will equally benefit from the content.)

Assumed Knowledge

For this talk we'll assume you are pretty familiar with classes and objects (in whatever language you prefer...JavaScript, ColdFusion, etc). You've built a variety of classes/objects in some of your projects, and are familiar with OO concepts such as inheritance and composition.

Main Points

• 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"?

Code samples in a variety of languages showing when it might be useful to add some DI magic into your application.

=======================================================

From Nolan's blog:

Nolan Erck has been developing software professionally for more than 14 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.

Nolan currently co-manages the Sacramento ColdFusion 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.

Join or login to comment.

7 went

Our Sponsors

  • PeachPit Press

    Big thanks for the books we raffle at our monthly meetings

  • O'Reilly

    Thanks for the books we raffle at meetings. Ask for discount code!

  • Lynda.com

    Discount training for BACFUG members. Ask for discount code.

  • eSyncTraining

    Web Technology Training Anywhere

  • Railo Technologies, Inc.

    Professional consulting for the Railo Open Source CFML engine.

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy