Category: SOLID
Discussion of SOLID principles and how they relate to programming and code architecture.
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....
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...
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...
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....
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...
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...
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...
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...
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...
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...
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...