The Dependency Inversion Principle (DIP) is a principle of object-oriented design that will change the way you think about writing software. It is one of the 5 SOLID principles Robert Martin discusses in his book, I highly recommend checking this book out if you have never read it. I gave a presentation on the DIP with Stephen Loftus-Mercer at NI Week 2015, and just gave a slightly different presentation on the DIP at the Software Craftsmanship Workshop at NI Days Boston 2015. Below is a recording of the Software Craftsmanship Workshop presentation, along with my slides.
Depend upon abstract entities, not concrete entities
Jon McBee is a Principal Software Engineer at Cambridge NanoTech and is a Certified LabVIEW Architect, Certified LabVIEW Embedded Developer, Certified TestStand Developer, an NI Certified Professional Instructor, and a LabVIEW Champion