DigitableCourses
База знаний

Тема: Паттерны Проектирования

9 материалов в этой теме.

Материалы

9 на странице
Статья

Функциональные паттерны: функторы, монады, линзы, комбинаторы

Как устроен второй словарь паттернов — функции как значения, функторы и монады с их законами, аппликативная валидация, парсер-комбинаторы и линзы — с рабочим кодом, …

#паттерны проектирования#функциональное программирование#монады
28 мин
Статья

Структурные паттерны: Adapter, Decorator, Facade, Proxy, Composite

Как из мелких объектов собирают большие структуры: обёртки, деревья и мосты — с рабочим кодом, разбором стоимости косвенности и типичными ошибками.

#паттерны проектирования#ооп#композиция
22 мин
Статья

Порождающие паттерны: Factory, Builder, Singleton, Prototype

Как перестать разбрасывать new по коду: фабрики, строители, синглтоны и прототипы — от интуиции до продакшн-нюансов, потокобезопасности и типичных ошибок.

#паттерны проектирования#ооп#рефакторинг
16 мин
Статья

Паттерны конкурентности: пул, producer-consumer, future, pipeline

Как устроены пул воркеров, producer-consumer с обратным давлением, future/promise и pipeline — с формулами размера пула, рабочим кодом на Python и Go и разбором …

#паттерны проектирования#конкурентность#многопоточность
19 мин
Статья

Паттерны в реальном коде: когда они мешают

Разбор реальных ситуаций, где паттерн делает код хуже: цена косвенности, спекулятивная обобщённость, невидимый поток управления, протекающие абстракции — и процедура …

#паттерны проектирования#рефакторинг#архитектура
18 мин
Статья

Антипаттерны: God Object, Big Ball of Mud, Golden Hammer и другие

Каталог решений, которые выглядят разумно в момент принятия и разрушают систему через год: God Object, Big Ball of Mud, Golden Hammer, Lava Flow и организационные …

#паттерны проектирования#антипаттерны#рефакторинг
26 мин
Статья

Абстрактное синтаксическое дерево: представление, обход, паттерн Visitor

Как спроектировать узлы AST, обходить дерево в трёх порядках и не уронить стек, зачем нужен Visitor и почему в языках с алгебраическими типами он не нужен — с работающим …

#компиляторы#ast#деревья
20 мин