Clean Architecture (чистая архитектура, все для проекта любого размера, принципы, мышление)
Telegram post:
Как создать чистую архитектуру и написать чистый код? Какие есть паттерны? Как их применять? Почему все их понимают по-разному? Можно ли их представить без привязки к конкретному языку? Почему для кого-то они не работают? Uncle Bob нас обманул? Их надо использовать в маленьком проекте, скрипте или огромных энтерпрайз решениях? Как бороться со сложностью в наших проектах и делать так, чтобы затраты на внесение новых изменений были оптимальны с его ростом? Можно ли построить монолит на миллионы строк и остаться в здравом уме? На эти и другие каверзные вопросы мы будем отвечать и рассуждать в этом видео. Будет очень много рисунков с отвязкой от конкретных имплементаций на конкретном языке, где это возможно. Где нет - приведем код. Где-то польем воды, как без этого; а то хейтерам не будет работы :) В целом тут все, что нужно знать, как применять и на какой стадии проекта. Когда их пременение дает профит, а когда сильно мешает и усложняет код. Очень много про decoupling & cohesion, на которых мы построим рассуждения почти на всех уровнях абстракции. Первые главы много и нудно говорят про мышление, которое потом красной нитью абстракций будут пронизаны все остальные главы. Не забудем про SOLID и некоторые другие принципы. Упомянем случаи, когда SOLID приводил к сложноподдерживаемой лапше, а когда делал код красивым и понятным. Где-то кринжанем немного. Все как мы любим))
Не все и не все смогут понять и тем более сразу применить на практике. Многие вещи нужно вырабатывать как навык, постоянно рефлексируя, рефакторя код после каждой доработки. Но, мы стараемся быть лучше и использовать это, если появляется возможность сделать наш код лучше и понятней для других людей; код, в который легко и приятно вносить новые изменения.
Надеюсь, каждый найдет что-то полезное для себя. Значит, делал не зря.
П.С. Любые совпадения с реальностью случайны, никакие темы, кроме разработки не затронуты ни явно, ни косвенно.
Telegram post:
Telegram:
Leetcode:
GitHub:
Gists:
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
4 views
156
41
2 months ago 11:41:27 4
Clean Architecture (чистая архитектура, все для проекта любого размера, принципы, мышление)
2 months ago 00:27:29 1
MADRID, Spain — (España) GRAN VIA, Madrid Walk 4K 🇪🇸
2 months ago 00:24:03 4
19. Functions Cleanup. CONTROL RIG Series Unreal Engine 5 by Ask a Dev
2 months ago 00:01:35 1
O3 COATINGS Factory Launch
2 months ago 00:15:02 1
16. Adding Modifiers, Cleaning Windows Building Sides
2 months ago 00:10:31 1
15. Adding Windows Cleaning Up
2 months ago 00:09:49 1
06. Cleaning Up the Front Mesh Adding Details
2 months ago 00:07:11 2
There’s A Problem With Clean Architecture - And How To Fix It! ⚠️
2 months ago 00:01:52 1
Kamala Harris Ad PARODY
2 months ago 00:00:16 3
Sleek Modern House with Minimalist Design and Clean Lines, Offering Stunning Views and an Open Floor Plan
2 months ago 00:12:19 1
31. Mesh Show-Hide and Cleanup. BLENDER FOR BEGINNERS by Bowas Muke
2 months ago 00:04:51 1
Ultimate 3bhk flats in Gurgaon | Luxury with breathtaking view
2 months ago 00:12:06 1
Оружие ближайшего будущего
2 months ago 00:16:41 1
Embracing the Modern Concrete House Style: Architectural Marvels on Steep Mountain Slopes
2 months ago 01:03:39 37
Adding Up To 10 + More | Kids Songs | Super Simple Songs
2 months ago 01:19:14 10
Swedes want to know....
2 months ago 00:04:18 305
The Democrats: Apology and Promise
2 months ago 01:38:07 30
Unsettled: Climate and Science | Dr. Steven Koonin | EP 323
2 months ago 01:31:30 2
Epidemics and Other Delusions | Dr. Steve Templeton | EP 366
2 months ago 01:43:57 17
The Poor or the Planet? | Robert Bryce | EP 375
2 months ago 00:00:23 2
🔥 1xbet запускает бонус 75 000 рублей с бонус-кодом FORTUNA24
2 months ago 01:14:42 1
Генераторы на примере JS: Монады, Континуации, Цветные функции — что это и зачем?
2 months ago 00:28:12 1
China’s Most Futuristic Train Station: They Built A Spaceship?
3 months ago 00:58:21 20
[Олег Козырев] Чистая архитектура проекта на Golang