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

https://github.com/nazemmahmud/design-paterns

Repository Lists of the design patterns created in this git
https://github.com/nazemmahmud/design-paterns

decorator-pattern facade-pattern mediator-pattern memento-pattern strategy-pattern

Last synced: about 1 month ago
JSON representation

Repository Lists of the design patterns created in this git

Awesome Lists containing this project

README

          

# Design Paterns
### This is Repository Lists of the design patterns created in this git

Design patterns are typical/repeatebale solutions to commonly occuring problems in software design. \
Each pattern is like a template that can be customized to solve a particular type of problem in a code.

It can be catagolized in three sections.\
The design patterns thar are exampled in this repo:

## Structural patterns
This design pattern explains how to assemble objects and classes into larger structures, along with keeping these structures flexible and efficient.

### [Decorator](https://github.com/NazemMahmud/design-paterns-php/tree/main/Decorator)
Attach new behaviors to objects by placing these objects inside special wrapper objects that contain the behaviors.\
Check [this repo](https://github.com/NazemMahmud/design-paterns-php/tree/main/Decorator) for example

### [Facade](https://github.com/NazemMahmud/design-paterns-php/tree/main/facade)
Facade is a structural design pattern that provides a simplified interface to a library, a framework, or any other complex set of classes.\
Check [this repo](https://github.com/NazemMahmud/design-paterns-php/tree/main/facade) for example

## Behavioral patterns
This type of patterns are concerned with algorithms and the assignment of responsibilities between objects.

### [Strategy](https://github.com/NazemMahmud/strategy-pattern)
Define a family of algorithms, put each of them into a separate class, and make their objects interchangeable.\
Check [this repo](https://github.com/NazemMahmud/strategy-pattern) for example

### [Mediator](https://github.com/NazemMahmud/design-paterns/tree/main/Mediator)
Allow objects to communicate with each other without the need for them to be aware of each other's identities. This pattern defines a mediator object that encapsulates the coordination logic between multiple objects.\
Check [this repo](https://github.com/NazemMahmud/design-paterns/tree/mediator) for example

### [Memento](https://github.com/NazemMahmud/design-paterns/tree/main/Memento)
It lets you save and restore the previous state of an object without violating encapsulation (without revealing the details of its implementation).
Check [this repo](https://github.com/NazemMahmud/design-paterns/tree/main/Memento) for example