A software dependency is an external component or resource that an application relies on. Dependencies can complicate unit tests or cause applications to behave differently across machines. section 6.1 section 13.1
Keep unit tests quick and independent of external dependencies where possible. For complex code, dependency injection and dependency inversion support replacing dependencies with mocks or fakes that return chosen values. section 6.1 section 7.0
Containers make required resources and dependencies explicit. A container based on a specific .NET image can also limit exposure to changes in the host machine’s .NET version. A .NET Framework 4.5 application that assumes paths stop at 260 characters, for example, can fail on a machine running .NET Framework 4.6.2, where the path limit differs. section 13.1


























