In software engineering, design patterns are patterns to most commonly ocurring problems in software design. In boader sense, design patterns can be divided into three catagories: creational, structural, behavioral. This repository contains example implementation of following design patterns in java:
The design patterns that deal with the creation of an object.
- Singleton
- Factory
- Abstract Factory
- Builder
- Prototype
The design patterns in this category deals with the class structure such as Inheritance and Composition.
- Adapter
- Composite
- Proxy
- Flyweight
- Facade
- Bridge
- Decorator
This type of design patterns provide solution for the better interaction between objects, how to provide lose coupling, and flexibility to extend easily in future.
- Template Method
- Mediator
- Chain of Responsibility
- Observer
- Strategy
- Command
- State
- Visitor
- Interpreter
- Iterator
- Memento