A design pattern is a general reusable solution to a commonly occurring problem within a given context. A design pattern is not a finished design that can be transformed directly into source or machine code. It is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system. This repository aims to present an example of each design pattern using Java.
Abstract Factory
Builder
Factory Method
Lazy Initialization
Multiton
Object Pool
Prototype
Singleton