NDepend Blog

Improve your .NET code quality with NDepend

SOLID Design in C#: The Open-Close Principle (OCP)

November 20, 2023 7 minutes read The Open-Close Principle (OCP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented features....
NDepend November 20, 2023

SOLID Design in C#: The Interface Segregation Principle (ISP) with Examples

November 13, 2023 6 minutes read The Interface Segregation Principle (ISP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented features. The...
NDepend November 13, 2023

SOLID Design in C#: The Liskov Substitution Principle (LSP)

November 13, 2023 7 minutes read The Liskov Substitution Principle (LSP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented features. Named after...
NDepend November 13, 2023

SOLID Design in C#: The Single Responsibility Principle (SRP)

November 9, 2023 7 minutes read The Single Responsibility Principle (SRP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented features....
NDepend November 9, 2023

SOLID Design in C#: The Dependency Inversion Principle (DIP) with Examples

November 8, 2023 8 minutes read The Dependency Inversion Principle (DIP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented...
NDepend November 8, 2023

5x Lessons Learned from Migrating a Large Legacy to .NET 5/6

October 26, 2021 9 minutes read In January 2020 I wrote the post Not planning now to migrate your .NET 4.8 legacy, is certainly a mistake. Hopefully we followed our...
NDepend October 26, 2021

Code Testability: A Case Study

September 1, 2021 2 minutes read [crayon-67028a09af9de721857444/] This method is untestable because its logic depends on NdpOperatingSystem.Kind which returns an OSPlatform object. Notice the usage of the attribute UncoverableByTest that...
NDepend September 1, 2021

Top 10 .NET 5.0 new APIs

September 21, 2020 9 minutes read When a new major .NET version hits Release Candidate, it is time to use the NDepend code review changes capabilities to browse which new...
NDepend September 21, 2020

Business Complexity vs. Implementation Complexity

September 19, 2019 6 minutes read It is good software design practice to make sure that methods can be entirely viewed in the code editor that typically shows 30 to...
NDepend September 19, 2019

Static Analysis and Dependency Injection

September 3, 2019 4 minutes read For quite some years now, we (the NDepend team) got some demand about resolving Dependency Injection, see this page on our User Voices. Lately...
NDepend September 3, 2019

Are SOLID principles Cargo Cult?

August 13, 2019 6 minutes read My last post about SOLID Design: The Single Responsibility Principle (SRP) generated some discussion on reddit. The discussion originated from a remark considering SOLID...
NDepend August 13, 2019