Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/tshemsedinov/patterns-javascript

Patterns for JavaScript, Node.js, and TypeScript
https://github.com/tshemsedinov/patterns-javascript

backend design-patterns di frontend gof grasp ioc nodejs patterns solid

Last synced: 5 days ago
JSON representation

Patterns for JavaScript, Node.js, and TypeScript

Awesome Lists containing this project

README

        

# 🧩 Patterns for JavaScript & Node.js

> Rethinking GRASP (General Responsibility Assignment Software Patterns), SOLID (Single responsibility, Open–closed, Liskov substitution, Interface segregation, Dependency inversion), GoF (Gang of Four) patterns, for Frontend (browsers) & Backend (node.js, other runtimes) development with JavaScript and TypeScript

Translations:
[EN](https://github.com/tshemsedinov/Patterns-JavaScript/tree/en),
[UA](https://github.com/tshemsedinov/Patterns-JavaScript/tree/ua),
[RU](https://github.com/tshemsedinov/Patterns-JavaScript/tree/ru).

- 🧩 Gof Patterns
- πŸ“’ [GoF patterns for Node.js and JavaScript (seminar fragment)](https://youtu.be/7TjzsZCQQqg)
- 🏭 Creational patterns
- [Abstract factory](https://github.com/HowProgrammingWorks/AbstractFactory)
- [Builder](https://github.com/HowProgrammingWorks/Builder)
- [Factory method](https://github.com/HowProgrammingWorks/Factory)
- [Prototype](https://github.com/HowProgrammingWorks/PrototypePattern) do not confuse with [Prototype-programming](https://github.com/HowProgrammingWorks/Prototype)
- [Singleton](https://github.com/HowProgrammingWorks/Singleton)
- 🀝 Structural patterns
- [Adapter](https://github.com/HowProgrammingWorks/Adapter)
- [Bridge](https://github.com/HowProgrammingWorks/Bridge)
- [Composite](https://github.com/HowProgrammingWorks/Composite)
- Decorator and [Wrapper](https://github.com/HowProgrammingWorks/Wrapper)
- [Facade](https://github.com/HowProgrammingWorks/Facade)
- [Flyweight](https://github.com/HowProgrammingWorks/Flyweight)
- [Proxy](https://github.com/HowProgrammingWorks/Proxy)
- ⚑ Behavioral patterns
- Chain of responsibility
- [Chain of responsibility](https://github.com/HowProgrammingWorks/ChainOfResponsibility)
- [Middleware](https://www.youtube.com/watch?v=RS8x73z4csI)
- [Command](https://github.com/HowProgrammingWorks/Command)
- [Interpreter](https://github.com/HowProgrammingWorks/Interpreter)
- [Iterator](https://github.com/HowProgrammingWorks/Iterator)
- [Mediator](https://github.com/HowProgrammingWorks/Mediator)
- [Memento](https://github.com/HowProgrammingWorks/Memento)
- Observable and Observer: EventEmitter, EventTarget
- [EventTarget and EventEmitter](https://github.com/HowProgrammingWorks/Events)
- [EventEmitter](https://github.com/HowProgrammingWorks/EventEmitter)
- [Observer](https://github.com/HowProgrammingWorks/Observer)
- [State](https://github.com/HowProgrammingWorks/State)
- [Strategy](https://github.com/HowProgrammingWorks/Strategy)
- [Template method](https://github.com/HowProgrammingWorks/TemplateMethod)
- [Visitor](https://github.com/HowProgrammingWorks/Visitor)
- 🧩 GRASP patterns
- πŸ“’ Intro video
- [GRASP Overview](https://youtu.be/ExauFjYV_lQ)
- Part 1 - [GRASP for Node.js and Javascript](https://youtu.be/vm8p4jIQwp4)
- Part 2 - coming soon
- [Information expert](https://youtu.be/cCHL329_As0)
- Creator
- Controller
- Indirection
- [Low coupling](https://youtu.be/IGXdPOZ3Fyk)
- [High cohesion](https://youtu.be/IGXdPOZ3Fyk)
- Polymorphism
- Protected variations
- [Pure fabrication](https://youtu.be/CV577a0RHBM)
- [Real code examples](https://youtu.be/4AMVQ2-2DcM)
- 🧩 SOLID Patterns
- πŸ“’ Intro video: [SOLID for Node.js and Javascript](https://youtu.be/B2guSV8EMn0)
- [SOLID Interview questions](https://youtu.be/-9OM6-6pZw8)
- [Single responsibility principle](https://youtu.be/o4bQywkBKOI)
- [Open/closed principle](https://github.com/HowProgrammingWorks/OpenClosed)
- [Liskov substitution principle](https://youtu.be/RbhYxygxroc)
- [Interface segregation principle](https://github.com/HowProgrammingWorks/InterfaceSegregation)
- [Dependency inversion principle](https://github.com/HowProgrammingWorks/DependencyInversion)