Recently, I came across this well-structured as well as visually appealing catalogue of software design patterns on Refactoring.Guru.
The subject of design patterns can be a somewhat dry, unwieldy one. Hence, using visuals and metaphors can come in handy when explaining both the general idea behind design patterns and specific patterns alongside with their use cases.
Refactoring.Guru does a great job not only at explaining the origin and purpose of and rationale behind design patterns and pattern languages but also at describing each of the common software design patterns from the seminal GoF book “Design Patterns: Elements of Reusable Object-Oriented Software”.
The site uses visuals, diagrams, and code samples from various programming languages in addition to textual explanations for giving a detailed description of and usage guidelines for creational, structural, and behavioural design patterns.