You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Design patterns are design level solutions for recurring problems that frequently occur in software engineering. It is like a description on how to tackle these problems and design a solution.
The repo contains implementation, use cases and best practices associated with various design patterns. The theory and code associated with each design pattern can be found in their individual module.
Design Patterns can be divided into 3 major categories
1.) Creational Design Patterns - These patterns are designed for class instantiation. They can be either class-creation patterns or object-creational patterns.Examples - Builder Pattern, Factory Pattern etc
2.) Structural Patterns - These patterns are designed with regard to a class's structure and composition. The main goal of most of these patterns is to increase the functionality of the class(es) involved, without changing much of its composition.Examples - Adapter Pattern, Facade Pattern
3.) Behavioral: These patterns are designed depending on how one class communicates with others. Examples - Command Pattern, Observer Pattern etc.
About
Theory and Implementation of design patterns in Java