fa
Feedback
HowProgrammingWorks - JavaScript and Node.js Programming

HowProgrammingWorks - JavaScript and Node.js Programming

رفتن به کانال در Telegram

Программная инжененрия для JavaScript, TypeScrip, Node.js 👉 Group: https://t.me/How_Programming_Works 👉 Node.js channel: https://t.me/metarhia 👉 Node.js group: https://t.me/nodeua

نمایش بیشتر
6 473
مشترکین
-224 ساعت
-167 روز
-1130 روز
آرشیو پست ها
В бесплатном курсе Patterns Mini вышли последние три лекции и там не только про GRASP и SOLID, но есть, например, паттерн SAG
+2
В бесплатном курсе Patterns Mini вышли последние три лекции и там не только про GRASP и SOLID, но есть, например, паттерн SAGA и его реализацию через оркестрацию и хореографию https://nodeua.com/Patterns-2025-free

Сделал в нормальном качестве и нарезал https://youtu.be/E2Yp0YLdCCc

Началась регистрация на бесплатный курс Patterns Mini 👉 https://nodeua.com/Patterns-2025-free
Началась регистрация на бесплатный курс Patterns Mini 👉 https://nodeua.com/Patterns-2025-free

👀 Классификация типов полиморфизма (дополняется) 1. Ad-hoc polymorphism - Function and method overloading - Operator overloading - Type-class polymorphism (e.g. Haskell type classes, Rust traits) - Coercion polymorphism 2. Subtype polymorphism - Class inheritance - Interface / protocol polymorphism - Structural (duck typing) polymorphism 3. Parametric polymorphism - Generic functions - Generic data structures 4. Dispatch mechanisms - Dynamic dispatch - Virtual functions and methods - Multiple or multimethod dispatch 👉 Примеры и пояснения тут: https://t.me/patterns_javascript

💡 Ссылки на наши ресурсы Открытые группы и каналы - Україномовний канал спільноти https://t.me/metarhia - Україномовна група https://t.me/nodeua - Канал с общими вопросами https://t.me/HowProgrammingWorks - Группа с общими вопросами https://t.me/MetarhiaHPW - Канал для CTO и архитекторов https://t.me/MetarhiaChiefs - Группа для техстека Metarhia: https://t.me/metaserverless - Канал для начинающих https://t.me/metaedu - Группа для начинающих https://t.me/+znsE73dPWLQ5Nzky - Группа сообщества по асинхронному программированию https://t.me/asyncify - Онбординг для желающих пойти на курс Patterns: https://t.me/patterns_javascript Закрытые ресурсы - Группа сообщества - доступна всем курсам - https://www.patreon.com/cw/tshemsedinov/membership - Еженедельный созвон по четвергам - доступен всем курсам - https://www.patreon.com/cw/tshemsedinov/membership - Курс по ноде и асинхронному программированию - https://www.patreon.com/cw/tshemsedinov/membership - Курс по паттернам - https://nodeua.com/Patterns-2025

Нам не нужен паттерн Adapter, поскольку EventEmitter уже передает нужные события во все места напрямую. Нам не нужен паттерн
+3
Нам не нужен паттерн Adapter, поскольку EventEmitter уже передает нужные события во все места напрямую. Нам не нужен паттерн Facade, поскольку наша абстракция уже, к счастью, блокирует весь реальный поток, считайте, нам повезло. Нам не нужен Data Access Layer, поскольку ORM делает запросы, а мы еле успеваем не затопить соседей. Нам не нужна какая-то дополнительная архитектура, потому что каждый микросервис уже имеет свой личный люк к истине. Нам не нужен курс по паттернам, все мемы уже собраны здесь: https://t.me/+I-suNalcHC03NGUy

Вынужден сказать вам правду. Паттерны - это не только решения типовых проблем, но и бездонный источник идей для излишнего усложнения и запутывания кодовой базы: - как только человек выучил паттерны, ему хочется применять их везде, и в первые месяцы после умных книжек программист творит сплошной оверинженеринг: в коде появляется в разы больше абстракций, чем нужно, - абстракции не бесплатны: всякая гибкость, динамическая диспетчеризация, pure fabrication и мелкодисперсная декомпозиция повышают количество объектов, слоев и вызовов, просаживается производительность, - часто код становится сложным для понимания, повышается порог входа: без глубоких знаний коллеги испытывают трудности из-за того, что вы перестали решать проблемы в лоб и применяете сложные для них концепции, - усложняются отладка и тестирование: цепочки делегирования и фабрики маскируют реальные места ошибок, теряется стек, или в нем появляются непонятные промежуточные слои, перехватчики, а если используется рефлексия, то - динамически построенные абстракции, которых в коде никто не видит. Что делать? Только практика и менторин могут помочь не потерять время на оверинженеринг и эксперименты. Нужны задачи по: - переписыванию кода с удалением паттерна - выбору простейшего паттерна для решения проблемы - использованию встроенных в язык возможностей, решающих ту же задачу, что и паттерн - задачи с трейдофами, когда в условии должны быть NFR или дополнительные ограничения - рефакторинг плохо написанных паттернов, упрощение, когнитивная оптимизация - реальные проекты, где есть ограничения во времени и нужен компромис Все это есть на курсе в виде сквозного проекта, подробнее тут: https://nodeua.com/Patterns-2025

🧩 Кроме GoF и SOLID на Patterns и Patterns Mini мы разберем GRASP, эти принципы гораздо важнее, но менее известны. Материалы уже публикуются тут: https://t.me/+I-suNalcHC03NGUy