Skip to content

Commit 4a61817

Browse files
authored
Update Patterns.md
1 parent 9700116 commit 4a61817

File tree

1 file changed

+95
-28
lines changed

1 file changed

+95
-28
lines changed

Courses/Patterns.md

Lines changed: 95 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,98 @@
1-
# Шаблоны проектирования
1+
# Patterns for JavaScript and Typescript
22

3-
[Таймкоды и подробное оглавление для части лекций](Patterns-timecodes.md)
3+
GRASP, SOLID, and GoF patterns for Frontend & Backend modern development
44

5-
## Видео-лекции
5+
- SOLID
6+
- Single responsibility principle: https://github.com/HowProgrammingWorks/SingleResponsibility
7+
- Open/closed principle: https://github.com/HowProgrammingWorks/OpenClosed
8+
- Liskov substitution principle: https://github.com/HowProgrammingWorks/LiskovSubstitution
9+
- Interface segregation principle: https://github.com/HowProgrammingWorks/InterfaceSegregation
10+
- Dependency inversion principle: https://github.com/HowProgrammingWorks/DependencyInversion
11+
- Instantiation: Creational Patterns and Techniques
12+
- Decomposition, Instantiation, Encapsulation, Aggregation, Composition, Association, Delegation
13+
- Class composition (association, aggregation)
14+
- GRASP: Information expert
15+
- GRASP: Creator
16+
- Abstract factory: https://github.com/HowProgrammingWorks/AbstractFactory
17+
- Builder: https://github.com/HowProgrammingWorks/Builder
18+
- Factory method: https://github.com/HowProgrammingWorks/Factory
19+
- Object pool: https://github.com/HowProgrammingWorks/Pool
20+
- Prototype: https://github.com/HowProgrammingWorks/PrototypePattern
21+
- Do not confuse Prototype with Prototype-programming: https://github.com/HowProgrammingWorks/Prototype
22+
- Singleton: https://github.com/HowProgrammingWorks/Singleton
23+
- Revealing Constructor
24+
- Flyweight: https://github.com/HowProgrammingWorks/Flyweight
25+
- Isolation and Separation of Concerns
26+
- Contracts and Contract programming, Interfaces
27+
- Modularity, Layers and Low Coupling
28+
- GRASP: Low coupling
29+
- GRASP: High cohesion
30+
- GRASP: Controller
31+
- GRASP: Indirection
32+
- Adapter: https://github.com/HowProgrammingWorks/Adapter
33+
- Bridge: https://github.com/HowProgrammingWorks/Bridge
34+
- Decorator: https://github.com/HowProgrammingWorks/Decorator
35+
- Wrapper: https://github.com/HowProgrammingWorks/Wrapper
36+
- Facade: https://github.com/HowProgrammingWorks/Facade
37+
- Chain of responsibility: https://github.com/HowProgrammingWorks/ChainOfResponsibility
38+
- Mediator: https://github.com/HowProgrammingWorks/Mediator
39+
- Visitor: https://github.com/HowProgrammingWorks/Visitor
40+
- Proxy: https://github.com/HowProgrammingWorks/Proxy
41+
- Decoupling with Events and Messaging
42+
- EventTarget and EventEmitter: https://github.com/HowProgrammingWorks/Events
43+
- EventEmitter: https://github.com/HowProgrammingWorks/EventEmitter
44+
- Observer: https://github.com/HowProgrammingWorks/Observer
45+
- Streams: Data Flows and Transformations
46+
- RxJS and Event streams
47+
- Actor model
48+
- State and data manipulations
49+
- Command: https://github.com/HowProgrammingWorks/Command
50+
- State: https://github.com/HowProgrammingWorks/State
51+
- Iterator: https://github.com/HowProgrammingWorks/Iterator
52+
- Composite: https://github.com/HowProgrammingWorks/Composite
53+
- Memento: https://github.com/HowProgrammingWorks/Memento
54+
- Automata, Finite-state machine
55+
- Related topics
56+
- Error handling, Exceptions, Soft Failures, Logging
57+
- DSL, AST with Pattern Interpreter, LISP
58+
- Service Locator
59+
- Interpreter: https://github.com/HowProgrammingWorks/Interpreter
60+
- Strategy: https://github.com/HowProgrammingWorks/Strategy
61+
- Template method: https://github.com/HowProgrammingWorks/TemplateMethod
62+
- GRASP: Polymorphism
63+
- GRASP: Protected variations
64+
- GRASP: Pure fabrication
665

7-
- [Шаблон Singleton (синглтон) в JavaScript](https://youtu.be/qdJ5yikZnfE)
8-
- Примеры кода: https://github.com/HowProgrammingWorks/Singleton
9-
- [Фабрики и пулы объектов в JavaScript, factorify, poolify](https://youtu.be/Ax_mSvadFp8)
10-
- Фабрики: https://github.com/HowProgrammingWorks/Factory
11-
- Пулы объектов: https://github.com/HowProgrammingWorks/Pool
12-
- [Фасад - паттерн для скрытия сложности](https://youtu.be/oJtBO7CystE)
13-
- Примеры кода: https://github.com/HowProgrammingWorks/Facade
14-
- [Адаптер (Adapter) - паттерн достижения совместимости](https://youtu.be/cA65McLQrR8)
15-
- Примеры кода: https://github.com/HowProgrammingWorks/Adapter
16-
- [Стратегия (Strategy) - выбор взаимозаменяемого поведения](https://youtu.be/hO8VSVv0NqM)
17-
- Примеры кода: https://github.com/HowProgrammingWorks/Strategy
18-
- [Паттерн Команда (Command) действие и параметры как объект](https://youtu.be/vER0vYL4hM4)
19-
- Примеры кода: https://github.com/HowProgrammingWorks/Command
20-
- [Паттерн Revealing Constructor - открытый конструктор](https://youtu.be/leR5sXRkuJI)
21-
- Примеры кода: https://github.com/HowProgrammingWorks/RevealingConstructor
22-
- [Паттерн Наблюдатель (Observer + Observable)](https://youtu.be/_bFXuLcXoXg)
23-
- Примеры кода: https://github.com/HowProgrammingWorks/Observer
24-
- [Принцип единственной ответственности и закон Конвея](https://youtu.be/o4bQywkBKOI)
25-
- Примеры кода: https://github.com/HowProgrammingWorks/SingleResponsibility
26-
- [Ассоциация, Агрегация и Композиция](https://youtu.be/tOIcBrzezK0)
27-
- Примеры кода: https://github.com/HowProgrammingWorks/Association
28-
- [Принцип подстановки Барбары Лисков](https://youtu.be/RbhYxygxroc)
29-
- Примеры кода: https://github.com/HowProgrammingWorks/LiskovSubstitution
30-
- [Антипаттерны объектно-ориентированного программирования](https://youtu.be/9d5TG1VsLeU)
31-
- Примеры кода: https://github.com/HowProgrammingWorks/Antipatterns/tree/master/JavaScript/03-OOP
66+
## Books
67+
68+
- «Design Patterns: Elements of Reusable Object-Oriented Software» Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
69+
- «Refactoring: Improving the Design of Existing Code Edition Unstated» Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts, Erich Gamma
70+
- «Patterns of Enterprise Application Architecture» Martin Fowler
71+
- «Clean Architecture: A Craftsman's Guide to Software Structure and Design» Robert C. Martin
72+
- «Clean Code: A Handbook of Agile Software Craftmanship» Robert C. Martin
73+
- «The Clean Coder: A Code of Conduct for Professional Programmers» Robert C. Martin
74+
- «Designing Object Oriented C++ Applications Using The Booch Method» Robert C. Martin
75+
- «Agile Software Development, Principles, Patterns, and Practices» Robert C. Martin
76+
- «Agile Principles, Patterns, And Practices in C#» Robert C. Martin
77+
- «UML for Java Programmers» Robert C. Martin
78+
- «Working Effectively with Legacy Code» Robert C. Martin
79+
- «Clean Agile: Back to Basics» Robert C. Martin
80+
- «Clean Craftsmanship: Disciplines, Standards, and Ethics» Robert C. Martin
81+
- «Functional Design: Principles, Patterns, and Practices» Robert C. Martin
82+
83+
## Old lectures
84+
85+
- Singleton: https://youtu.be/qdJ5yikZnfE
86+
- Factory and Pool: https://youtu.be/Ax_mSvadFp8
87+
- Facade: https://youtu.be/oJtBO7CystE
88+
- Adapter: https://youtu.be/cA65McLQrR8
89+
- GoF Strategy: https://youtu.be/hO8VSVv0NqM
90+
- GoF Command: https://youtu.be/vER0vYL4hM4
91+
- Revealing Constructor: https://youtu.be/leR5sXRkuJI
92+
- GoF Observable + Observer: https://youtu.be/_bFXuLcXoXg
93+
- Single responsibility principle: https://youtu.be/o4bQywkBKOI
94+
- Association, aggregation, composition: https://youtu.be/tOIcBrzezK0
95+
- Liskov substitution principle: https://youtu.be/RbhYxygxroc
96+
- Iterator and AsyncIterator: https://youtu.be/rBGFlWpVpGs
97+
- Thenabe: https://youtu.be/Jdf_tZuJbHI https://youtu.be/DXp__1VNIvI
98+
- Observer + Observable: https://youtu.be/_bFXuLcXoXg

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy