Skip to content

serhatyamann/DESIGN_PATTERNS

Repository files navigation

DESIGN PATTERNS

Design patterns are solutions to software design problems you find again and again in real-world application development. Patterns are about reusable designs and interactions of objects. They are categorized in three groups: Creational, Structural, and Behavioral.

Creational Patterns

The Singleton design pattern ensures a class has only one instance and provide a global point of access to it.

A visualization of the classes and objects participating in this pattern.

Singleton

The Factory Method design pattern defines an interface for creating an object, but let subclasses decide which class to instantiate. This pattern lets a class defer instantiation to subclasses.

A visualization of the classes and objects participating in this pattern.

factory

Structural Patterns

The Decorator design pattern attaches additional responsibilities to an object dynamically. This pattern provide a flexible alternative to subclassing for extending functionality.

A visualization of the classes and objects participating in this pattern.

decorator

Behavioral Patterns

The Chain of Responsibility design pattern avoids coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. This pattern chains the receiving objects and passes the request along the chain until an object handles it.

A visualization of the classes and objects participating in this pattern.

chain