Clean Architecture (чистая архитектура, все для проекта любого размера, принципы, мышление)

Published: 23 September 2024
on channel: Кодируем
72,738
3.2k

Telegram post: https://t.me/koduryem/39

Как создать чистую архитектуру и написать чистый код? Какие есть паттерны? Как их применять? Почему все их понимают по-разному? Можно ли их представить без привязки к конкретному языку? Почему для кого-то они не работают? Uncle Bob нас обманул? Их надо использовать в маленьком проекте, скрипте или огромных энтерпрайз решениях? Как бороться со сложностью в наших проектах и делать так, чтобы затраты на внесение новых изменений были оптимальны с его ростом? Можно ли построить монолит на миллионы строк и остаться в здравом уме? На эти и другие каверзные вопросы мы будем отвечать и рассуждать в этом видео. Будет очень много рисунков с отвязкой от конкретных имплементаций на конкретном языке, где это возможно. Где нет - приведем код. Где-то польем воды, как без этого; а то хейтерам не будет работы :) В целом тут все, что нужно знать, как применять и на какой стадии проекта. Когда их пременение дает профит, а когда сильно мешает и усложняет код. Очень много про decoupling & cohesion, на которых мы построим рассуждения почти на всех уровнях абстракции. Первые главы много и нудно говорят про мышление, которое потом красной нитью абстракций будут пронизаны все остальные главы. Не забудем про SOLID и некоторые другие принципы. Упомянем случаи, когда SOLID приводил к сложноподдерживаемой лапше, а когда делал код красивым и понятным. Где-то кринжанем немного. Все как мы любим))

Не все и не все смогут понять и тем более сразу применить на практике. Многие вещи нужно вырабатывать как навык, постоянно рефлексируя, рефакторя код после каждой доработки. Но, мы стараемся быть лучше и использовать это, если появляется возможность сделать наш код лучше и понятней для других людей; код, в который легко и приятно вносить новые изменения.

Надеюсь, каждый найдет что-то полезное для себя. Значит, делал не зря.

П.С. Любые совпадения с реальностью случайны, никакие темы, кроме разработки не затронуты ни явно, ни косвенно.

Telegram post: https://t.me/koduryem/39
Telegram: https://t.me/koduryem

Leetcode: https://leetcode.com/idfumg
GitHub: https://github.com/idfumg
Gists: https://gist.github.com/idfumg

Timecodes
0:00 Intro
32:50 Black and White Thinking
45:55 Modeling & Abstraction
1:07:49 Single Responsibility Principle
1:38:52 Open-Closed Principle
1:58:26 Liskov Substitution Principle
2:18:32 Interface Segregation Principle
2:35:40 Dependency Inversion Principle
3:08:03 DRY
3:20:39 Naming
3:46:57 One Line One Statement
3:55:30 Function's Size
3:59:20 Loops
4:04:40 Classes
4:09:22 Low Coupling & High Cohesion
4:46:26 Technical Debt
4:52:09 Cyclic Dependency
5:00:37 Gateway (Facade, Orchestrator)
5:11:54 Function Composition
5:18:10 Pure Functions
5:56:26 Idempotent Functions
6:03:20 State & Stateful & Stateless
7:07:28 IO & Functional Core & Imperative Shell
7:39:32 Input Validation
7:47:24 Dependencies Are Bad
8:04:38 Dependency Inversion
8:19:26 Clean Architecture
8:31:38 Hexagonal Architecture
8:56:55 Clean Architecture. Example. Smoothly Increase Complexity
9:13:00 Clean Architecture. Using Functions
9:14:57 Clean Architecture. Using Closure
9:17:13 Clean Architecture. Using Class
9:22:53 Clean Architecture. Using Global Setup
9:28:16 Big Ball Of Mud
9:35:35 Distributed Monolith With Microservices
9:40:41 Monolith
9:47:42 Monolith. Martin Fowler
9:48:52 Monolith. KISS & Make It Work!
9:52:16 Monolith. Refactor. Decoupling. Modules.
9:56:19 Monolith. Ultimate Decoupling. Broker (Sync)
9:59:10 Monolith. Ultimate Decoupling. Broker (Async)
10:01:07 Modular Monolith
10:03:32 Modular Monolith. High Coupling & Low Cohesion
10:04:44 Modular Monolith. Modularization & Refactoring
10:05:13 Modular Monolith. One Database And Direct Function Calls
10:06:37 Modular Monolith. Extract Modules to Microservices
10:08:11 Modular Monolith. Complexity Of Wrong Architecture
10:10:45 Modular Monolith. Complexity Of Wrong Decomposition
10:12:17 Modular Monolith. Scaling Of Monolith
10:13:35 Modular Monolith. Advantages Of Modules
10:15:42 Modular Monolith. Anti-Corruption Layer
10:18:10 Modular Monolith. One Module One Database
10:19:17 Modular Monolith. One Module One Schema
10:20:03 Modular Monolith. Disaster Of Using The Same Tables By Modules
10:23:44 Modular Monolith. Module Boundaries and APIs
10:26:52 Modular Monolith. Communicate With Broker
10:30:49 Data Transfer Objects (DTOs)
10:46:12 In-Memory Broker (Sync)
10:47:44 In-Memory Broker (Async)
10:49:43 Prototyping
10:55:34 Development Cycle
11:07:22 Just Enough Architecture
11:10:32 Architecture Complexity
11:19:51 Black Box

#programming #python #Go #cpp #problemsolving #leetcode #interview #job #algorithms #cleancode #clean_code #cleanarchitecture #clean_architecture #solid #solid_principles


Watch video Clean Architecture (чистая архитектура, все для проекта любого размера, принципы, мышление) online without registration, duration 11 hours 41 minute 27 second in high quality. This video was added by user Кодируем 23 September 2024, don't forget to share it with your friends and acquaintances, it has been viewed on our site 72,738 once and liked it 3.2 thousand people.