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
1 view
8
1
4 months ago 00:03:17 1
Изделие №1
4 months ago 00:12:06 1
Оружие ближайшего будущего
4 months ago 00:22:41 1
DIY Pond Ideas for Your Backyard with Lush Tropical Garden: Creative Outdoor Space Designs
4 months ago 00:03:27 1
The Town Of Vilnus (1968)
5 months ago 00:06:36 1
Ep. 7 Adding Beautiful Corals & Fish - Can two clown gobies be housed together?
5 months ago 00:00:54 1
RoboCop: Rogue City | OCP Ad
5 months ago 00:02:43 1
Ultimate 3D Walkthrough: 5-Bedroom House with Luxurious Interiors, Exquisite Exterior, and Pool View
5 months ago 00:14:57 21
5 Tips and Tricks for Importing DWG files into Revit
5 months ago 00:02:09 1
Seaside Serenity: Stunning Architectural Walkthrough and Interior Design Ideas for Beachside Haven
5 months ago 04:13:12 1
The Complete Household Vocabulary English Masterclass: Essential Guide for Every Corner of Your Home
5 months ago 00:02:43 1
비비 (BIBI) - Sugar Rush Official M/V
5 months ago 00:05:18 1
Poilievre accuses Liberals of adding a 2nd “carbon tax“ during question period
5 months ago 00:03:10 1
ISA Classic 65 m - M/Y Resilience
5 months ago 00:27:39 1
City Driving 4K: Kurgan, Russia. Автотур по солнечному Кургану, Россия.
5 months ago 00:17:47 1
Проектирование архитектуры сервиса фриланса для учителей / Модульный монолит / eFreelancingTeachers
6 months ago 00:02:35 1
Immerse Yourself: 3D Walkthrough of Beachside Villa’s Exterior & Interior with Stunning Pool Views
6 months ago 00:58:18 1
Domestic Minimalism: The Art Of Japanese Life | Journal