Time and Location
Source Dependency Management
I’m careful to use the term "Dependency Management" to describe this discussion as a generalized topic. I will outline my experience managing the software dependencies in my latest C# project, a RESTful web API. I’ll cover software development goals such as SOLID and DRY principles, designing adaptable software components, testing, publishing and executing software in various environments.
I’ll discuss "Dependency Injectability" patterns that help concrete implementations fulfill the goals mentioned above. And I’ll discuss the various forms of "Dependency Injection" from "Pure DI", which is just another pattern and does not require a supporting library, to the complicated and controversial world of "Dependency Injection Containers", which do. I hope to touch on a number of patterns, anti-patterns and a few patterns in between.
Finally, I hope to take a tour of some DI Container libraries in C# (Unity, Autofac), C++ (boost::di) and D (poodinis).
Michael Jones has 17 years of experience coding in languages such as C++, C#, Groovy, and Python. He’s worked at Midway Games in Chicago, Cranky Pants Games in Kirkland, YouTube at Google in Mountain View, Xbox and Azure locally at Microsoft. He’s interested in cool code, and has recently integrated dependency injection techniques into his programming practices. Mike’s currently working on the Azure Identity services at Microsoft and has been programming exclusively in C# for a few years now. He enjoys the recent pace of modern language design across many languages.
A Word From Our Sponsor
Please thank VerticalMove for sponsoring our pizza this month!!
Verticalmove is a respected Staffing and IT services company with more than fifteen years of proven experience building out core product engineering teams for enterprise and start-up organizations throughout the Pacific Northwest, Norther California, Austin and the East Coast.
At Verticalmove we are proud to defy the industry-standard every day by building lasting relationships with everyone that we come in contact with. We also set ourselves apart by taking the time to understand the technology and trends of the industry to keep pace with the brilliant minds that we converse with on a daily basis.
It hasn’t been an easy, but over the years we’ve won the hearts of respected software companies such as Facebook, Zillow, Salesforce.com, and Expedia just to name a few, and of course the names of our smaller early-stage clients are top secret.