🎧 GRASP принципы с адаптацией для JavaScript и Node.js

  Рет қаралды 20,511

Timur Shemsedinov

3 жыл бұрын

Плейлист: kzbin.info/aero/PLHhi8ymDMrQby8kXxsz2-J6-lsv0ilEg2
Автор: github.com/tshemsedinov
Патреон: www.patreon.com/tshemsedinov

Пікірлер: 57
@ITKAMASUTRA
@ITKAMASUTRA 2 жыл бұрын
В поддержку канала и вашей образовательной движухи ✊🚀
@uNkind33
@uNkind33 3 жыл бұрын
лайк до просмотра!
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Всем джаваскрипта, бесплатно, много, и пусть ни кто не уйдет обиженным!
@shokfake
@shokfake 3 жыл бұрын
@@TimurShemsedinov Начал смотреть ваши видео, и полюбил нодочку) и федорочку))
@evgenysmirnov4762
@evgenysmirnov4762 3 жыл бұрын
@@TimurShemsedinovзабросил js, учу флаттер, но всеравно смотрю ваши видео)
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
@@evgenysmirnov4762 Хаха)
@vladyslavkarpenko9372
@vladyslavkarpenko9372 3 жыл бұрын
Дякую! Гарний матеріал з добрим поясненням. 👍
@timashoff
@timashoff 11 ай бұрын
временами приятно послушать лекцию без кода, особенно в дороге удобно. Спасибо!
@ivankrig7285
@ivankrig7285 2 жыл бұрын
5:03 Information Expert 13:06 Creator 18:15 Cohesion & Coupling 21:33 Controller 24:58 Polymorphism 31:55 Indirection 34:34 Pure Fabrication 38:36 Protected Variations
@olehzahrebelnyi5996
@olehzahrebelnyi5996 3 жыл бұрын
Спасибо Вам, за то что вы делаете. Спасибо, что делитесь своим опытом и знаниями!
@varanakonda
@varanakonda 3 жыл бұрын
Вы крут! Спасибо, что делитесь знаниями!
@andrii_suprun_ua
@andrii_suprun_ua 2 жыл бұрын
Дякую за мудрість!
@vitaliizvarych6469
@vitaliizvarych6469 3 жыл бұрын
Спасибо за контент!)
@ziyadseykhanov3967
@ziyadseykhanov3967 3 жыл бұрын
Интересное и познавательное продолжение нас ждёт. Спасибо за лекцию
@user-kn3ut1sh2o
@user-kn3ut1sh2o 3 жыл бұрын
Спасибо за уроки!
@user-ve2pe9wj3y
@user-ve2pe9wj3y 3 жыл бұрын
Класс! Хотим больше видео про проектирование и архитектуру
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
ну вот будет еще 8 лекций в этом курсе по GRASP, всего 10, а потом по SOLID пройдемся
@sandryeyev
@sandryeyev 3 жыл бұрын
@@TimurShemsedinov ждем с нетерпением!
@artemeelemann317
@artemeelemann317 3 жыл бұрын
🔥
@user-vk4si1oz7w
@user-vk4si1oz7w 3 жыл бұрын
@@TimurShemsedinov Просто супер!!! Тимур Гафарович, а когда будут лекции по SOLID?
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
@@user-vk4si1oz7w В этом году запишу, пока ограничен по времени, пишу техстек Метархия, это важнее
@akopvardanian992
@akopvardanian992 Жыл бұрын
По мне лучшее объяснение принципов GRASP
@artem_soporno
@artem_soporno 11 ай бұрын
лучшее объяснение принципов GRASP
@rstark
@rstark 3 жыл бұрын
Крутяк!
@colorofadog
@colorofadog 3 жыл бұрын
Топ!
@user-qv3di5nk9c
@user-qv3di5nk9c 3 жыл бұрын
Круто. Спасибо большое
@vitaliikukhar4864
@vitaliikukhar4864 3 жыл бұрын
Лайк не глядя!
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Я надеюсь, ты посмотришь )
@vitaliikukhar4864
@vitaliikukhar4864 3 жыл бұрын
@@TimurShemsedinov Обязательно! Отличная тема!
@yerassylaitkazy5506
@yerassylaitkazy5506 3 жыл бұрын
Класс, спасибо
@Andrey-qf8uw
@Andrey-qf8uw 3 жыл бұрын
дякую!
@c_h_u_z_h_a_k
@c_h_u_z_h_a_k 3 жыл бұрын
Отлично!
@Nerossoul
@Nerossoul 3 жыл бұрын
Очень полезно.
@Antonio-fm1sq
@Antonio-fm1sq 2 жыл бұрын
Спасибо!
@realfootball338
@realfootball338 3 жыл бұрын
Refactoring GURU !!!!
@DzhigurdaAnton
@DzhigurdaAnton 3 жыл бұрын
мне нравится перевод Высокая сплочённость классов.
@user-de2nf2ui1p
@user-de2nf2ui1p 3 жыл бұрын
Какие более актуальные методологии вы имели ввиду в начале ролика, когда упоминали UML?
@thomasanderson3145
@thomasanderson3145 2 жыл бұрын
Интересно было бы послушать о кейсах, когда grasp идут в конфронтацию с solid и между собой
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
SOLID:SRP противоречит GRASP:Polymorphism, потому, что полиморфизм размывает ответственность, рассредоточивая ее по цепочке наследников, а SRP концентрирует. Вообще полипорфизм я признаю только на 1 уровень: интерфейс или абстрактный класс (что хуже) и от них 1 уровень классов наследников. Если больше, то можно запутаться и лучше делать композицию или агрегацию. Они даже друг-другу противоречат, например, GRASP: Indirection частично противоречит GRASP: High Cohesion, иногда нам нужно понизать Cohesion, а иногда повышать, зависит от конкретного случая и интуиции инженера. GRASP Information Expert частично противоречит GRASP: Pure Fabrication. Это все вопрос баланса.
@661marker
@661marker 3 ай бұрын
показалось описание controller и indeirection (по которому в пример приводится контроллер из mvc)- пересекаются.
@user-tq2gx3qd5z
@user-tq2gx3qd5z 3 жыл бұрын
Тимур расскажите вы скорее всего герой ТС39 можно о ваших достижениях .
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Совсем нет
@HappyHippyHome
@HappyHippyHome 3 жыл бұрын
Чистая выдумка - что вы имеете ввиду под сменой предметной области? Смена проекта?
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
В основном да, но бывает, что и в одном проекте очень сильно меняется предметная область, когда все переделывается или изменяются бизнес-процессы. В любом случае, чистая выдумка - это абстракция высшего порядка, она может переиспользоваться в разных проектах и гораздо менее подвержена изменениям предметной области. Бывакт, конечно, что нужно переходить от промисов к асинхронной композиции, но это не изменение самой чистой выдумки, а мы берем другую асинхронную абстракцию.
@vitaliizvarych6469
@vitaliizvarych6469 3 жыл бұрын
Подскажите когда будет продолжение?
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Сегодня 2 лекция в 21:45
@user-QesOrwuMqN
@user-QesOrwuMqN 3 жыл бұрын
любые принципы/паттерны - должны иметь примеры кода, любые попытки описать их текстом - автоматическое переусложнение
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Смотрим примеры и это только начало курса kzbin.info/www/bejne/mXSrfWZobsR0qZI но это не значит, что о концепциях нельзя говорить человеческим языком
@realfootball338
@realfootball338 3 жыл бұрын
14:20 - Это о DepencyInjection ? Когда инстанс класса становиться свойством в другом классе.
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Если перндается в конструктор
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Еще по теме - kzbin.info/www/bejne/qoCslHWor8qtgZI
@vitiok78
@vitiok78 3 жыл бұрын
Я вижу только одно адекватное решение всех этих проблем - это Typescript. А на фронтенде - Angular
@gccode1076
@gccode1076 3 жыл бұрын
Кто может сказать почему лучше не применять в конструктуре класса, сразу метод валидации на входящие данные? Тогда как? Отдельным приватным методом в другом публичном методе? Тоже плохая идея. При учете что абстракция не протикает и зона отвественности класса ни нарушена. Валидация необщая а именно под эти данные. Смысла создавать класс под валидаци? Если придется поменять ее то тоже в одном классе.
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Валидацию лучше всего вынести в отдельную библиотеку, а потом снабжать модель метаданными в декларативном стиле и по ним валидировать. Вызывать валидацию из контроллеров.
@gccode1076
@gccode1076 3 жыл бұрын
@@TimurShemsedinov про библиотеку не подумал. Благодарю.
@shokfake
@shokfake 3 жыл бұрын
- Пойдешь ко мне в штат? - Кем? - Криэйтором. - Это творцом? Если перевести? - Творцы нам тут на х... не нужны, - сказал он. - Криэйтором, Вава, криэйтором.
Smart Sigma Kid #funny #sigma #comedy
00:25
CRAZY GREAPA
Рет қаралды 7 МЛН
ОДИН ДЕНЬ ИЗ ДЕТСТВА❤️ #shorts
00:59
BATEK_OFFICIAL
Рет қаралды 8 МЛН
World’s Deadliest Obstacle Course!
28:25
MrBeast
Рет қаралды 148 МЛН
터키아이스크림🇹🇷🍦Turkish ice cream #funny #shorts
00:26
Byungari 병아리언니
Рет қаралды 28 МЛН
Smart Sigma Kid #funny #sigma #comedy
00:25
CRAZY GREAPA
Рет қаралды 7 МЛН