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
3 views
451
123
2 months ago 00:16:41 1
EF Core Migrations Deep Dive, Applying Migration, SQL Scripts
2 months ago 00:15:15 1
What Is A Message Queue + RabbitMQ and MassTransit Integration
2 months ago 00:28:12 1
China’s Most Futuristic Train Station: They Built A Spaceship?
2 months ago 00:21:53 1
Modern Abstract House Design Blending Minimalism and Geometric Flow
3 months ago 00:21:42 1
Modern Minimalist House Design with Black Brick Exterior Textured
3 months ago 00:07:24 2
Once Human - Modern Minimalist Cliff House Tour
3 months ago 00:21:18 1
Minimalist Rectangular House Architecture with Black and White Balance
3 months ago 00:17:48 1
Exploring Ifrane: A Walking Tour in Morocco’s Little Switzerland
3 months ago 00:05:23 1
BioShock - Breaking The Mold Concept Art
3 months ago 00:38:30 1
Black Accents Interior Design: Outdoor Decorating Ideas and Modular Kitchen for a modern House
3 months ago 03:13:11 1
Walking in the Rain Switzerland 4K: Rainy Day and Night - Heavy Rain in Interlaken and Lauterbrunnen
3 months ago 00:12:06 1
Оружие ближайшего будущего
3 months ago 01:34:05 1
The Great Partisan Shift | Robert F. Kennedy Jr. | EP 484
3 months ago 00:27:29 1
MADRID, Spain — (España) GRAN VIA, Madrid Walk 4K 🇪🇸
3 months ago 00:01:52 1
Kamala Harris Ad PARODY
3 months ago 00:04:51 1
Ultimate 3bhk flats in Gurgaon | Luxury with breathtaking view
3 months ago 00:16:41 1
Embracing the Modern Concrete House Style: Architectural Marvels on Steep Mountain Slopes
4 months ago 00:01:56 1
Unity3d Architectural Customization Project
4 months ago 00:00:00 1
Blanche by the Bay, Auroville, India by Architecture_Interspace
4 months ago 00:09:21 1
Krithi Shetty shares her Clean Girl Makeup Routine | Beauty Secrets | Vogue India
4 months ago 00:12:48 1
DENIS TIAGLIN - The concept of the and GOROD projects in the Deira, Dubai
4 months ago 00:08:33 1
Ankara Turkey Travel Guide: 11 BEST Things to Do in Ankara
4 months ago 00:11:12 1
Front yard and backyard, decor and landscaping ideas! Bonus: the porch of the house!
4 months ago 00:04:19 1
Adding HARD CORALS - Choosing LPS & SPS for Your Tank