Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/af2b/designpattern


https://github.com/af2b/designpattern

design-patterns ruby swift

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# Behavioral Design Patterns Repository

[**Versão em Português**](/pt/README.md)
[**Pусская версия**](/ru/README.md)

Welcome to the Behavioral Design Patterns repository! Here you will find detailed explanations, examples, and insights on various behavioral design patterns. This repository is intended for both beginners and experienced professionals looking to enhance their knowledge of design patterns.

## Table of Contents

- [Introduction](#introduction)
- [Behavioral Design Patterns](#behavioral-design-patterns)
- [Contributions](#contributions)

## Introduction

Behavioral design patterns are concerned with algorithms and the assignment of responsibilities between objects. They describe not just the patterns of objects or classes but also the patterns of communication between them. These patterns help in defining the communication between objects in a way that is flexible and extendable.

## Behavioral Design Patterns

Behavioral design patterns are those patterns that deal with how objects interact and communicate with each other. Examples of behavioral patterns include but are not limited to:

- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor

Each pattern addresses different issues related to the behavior of objects and their interactions, providing various techniques to manage and organize responsibilities and communication.

## Contributions

We welcome contributions! If you wish to add new patterns, explanations, improvements, or corrections, please follow these steps:

1. Fork this repository.
2. Create a branch for your changes: `git checkout -b feature/new-pattern`.
3. Open a pull request clearly describing the changes made and the motivation behind them.

🚀

---