Design Patterns: S.O.L.I.D. Overview

Ensuring software remains understandable, flexible, and maintainable

In response to common design difficulties inherit within many software systems, a series of design patterns were integrated together to form the acronym, S.O.L.I.D., which representing a specific principle.

In addition to producing programming code and architecture which is understandable, flexible, and maintainable, it avoids code which is brittle to change due to tight-coupling, untestable and duplicate code.

I will illustrate each principle in an example here using C#.