/desgin-patterns

Collection of examples of common design patterns

Primary LanguageTypeScript

Design Patterns

What

Design patterns are approachs to solutions to common problems in software design. A pattern is not concrete like an algorithm or library/framework, but instead outlines at a high level the problem, solution, parts involved, and intention.

Patterns may be implemented differently based on the programming language and technology stack due to differences in low level constructs and syntax across programming languages.

Why

Patterns can convey the problem and the pros and cons to the solution and once mastered by an engineer can be quickly identified. Having a mastery of design patterns can enable you to focus more energy understanding the domain of the problem instead of the details about a specific, hand-crafted solution. Therefore patterns extend a programmers vocabulary and enables them to succicently convey a proposed solution.

Examples

This repository contains a collection of examples of various design patterns. Please consider reviewing https://refactoring.guru/design-patterns and buying the book because it does a fantasitic job explaining design patterns.