Dependency Inversion Principle

Rigid or bad designs can make changes to components or modules of software applications very difficult and create maintenance issues. These nonflexible designs can often break functionalities that might earlier be working. These can come in the forms of incorrect use of principles and patterns, bad code, and coupling of different components or layers, thereby making the maintenance process a very difficult one.

When you have a rigid design in an application code base, examining the code closely will reveal that the modules are tightly coupled, making changes difficult. Making changes to any of the modules can create the risk of breaking another module that was working before. Observing the last of the SOLID ...

Get C# and .NET Core Test Driven Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.