Обов'язково розберіть патерни програмування у наступних відео! Тільки, будь ласка, не з абстрактними прикладами "білочки-собачки", а із життєвими (системи оплати, робота з файловою системою тощо). Дякую за відео!
Цікаво глянути розбір патернів. Хотілось би побачити приклади коду (бажано із реальних проектів) без патернів, який тяжко підтримувати, а при додаванні патернів до такого коду, було б помітне покращення підтримки. Іншими словами, було б добре побачити яку біль вирішує той чи інший патерн в реальних проектах
Вітаю! Гарне питання. В наступних відео розкрию, але якщо коротко, то ось визначення патерну State на вікіпедії > The state pattern is a behavioral software design pattern that allows an object to alter its behavior when its internal state changes. This pattern is close to the concept of finite-state machines. The state pattern can be interpreted as a strategy pattern, which is able to switch a strategy through invocations of methods defined in the pattern's interface. А ось кілька поінтів з refactoring.guru > Стан - це поведінковий патерн проектування, що дає змогу об’єктам змінювати поведінку в залежності від їхнього стану. Ззовні створюється враження, ніби змінився клас об’єкта. > Дуже важливим нюансом, який відрізняє цей патерн від Стратегії, є те, що і контекст, і конкретні стани можуть знати один про одного та ініціювати переходи від одного стану до іншого. > Стан можна розглядати як надбудову над Стратегією. Обидва патерни використовують композицію, щоб змінювати поведінку головного об’єкта, делегуючи роботу вкладеним об’єктам-помічникам. Проте в Стратегії ці об’єкти не знають один про одного і жодним чином не пов’язані. У Стані конкретні стани самостійно можуть перемикати контекст. Я б сказав, що State більше про різну поведінку в залежності від стану обʼєкта (наприклад дозволені переходи між статусами). А різні взаємозамінні алгоритми (приклад з відео - різні способи прокласти маршрут. Або ще один - різні платіжні способи при оплаті) - це стратегія У відео постараюсь продумати гарні приклади
дуже рідко те що питають на співбесіді реально працює на самій галєрі, більшість контор ціни собі не складуть, питають якісь космічні речі а самі роблять проєкти з гівна і палок.
Дякую за комент! Думаю десь справедливо. Я працював завжди на продуктах, то гівно і палки робиш для себе майбутнього (не кажу що не робиш, тиск, дедлайни і тд завжди є), тому завжди стараюсь робити якісно і прошу від інших, там де маю таку можливість Крім вищесказаного, нам все одно треба проходити співбесіди на ті галери)
@@10xdev так продукти вони працюють по своїй схемі, яка також залежить і від бюджету але частіше так продуктові контори намагаються не впадати в гівнокод заради прибутку, бо це напряму впливає на їх персональний продукт в майбутньому. Галєри ж переживають за продукт до того моменту поки гроші не перевели і підпис не поставлений, тому зачасту робота яку ви там робите не відповідає вашій кваліфікації, ви або джун якого продали як мідла або мідл якого продали як сеньйора
Обов'язково розберіть патерни програмування у наступних відео! Тільки, будь ласка, не з абстрактними прикладами "білочки-собачки", а із життєвими (системи оплати, робота з файловою системою тощо). Дякую за відео!
Дуже корисно, якраз готуюсь до співбесід
Дякую
Цікаво глянути розбір патернів.
Хотілось би побачити приклади коду (бажано із реальних проектів) без патернів, який тяжко підтримувати, а при додаванні патернів до такого коду, було б помітне покращення підтримки.
Іншими словами, було б добре побачити яку біль вирішує той чи інший патерн в реальних проектах
1:40 я сказав State. Де саме моя помилка?
Вітаю! Гарне питання. В наступних відео розкрию, але якщо коротко, то ось визначення патерну State на вікіпедії
> The state pattern is a behavioral software design pattern that allows an object to alter its behavior when its internal state changes. This pattern is close to the concept of finite-state machines. The state pattern can be interpreted as a strategy pattern, which is able to switch a strategy through invocations of methods defined in the pattern's interface.
А ось кілька поінтів з refactoring.guru
> Стан - це поведінковий патерн проектування, що дає змогу об’єктам змінювати поведінку в залежності від їхнього стану. Ззовні створюється враження, ніби змінився клас об’єкта.
> Дуже важливим нюансом, який відрізняє цей патерн від Стратегії, є те, що і контекст, і конкретні стани можуть знати один про одного та ініціювати переходи від одного стану до іншого.
> Стан можна розглядати як надбудову над Стратегією. Обидва патерни використовують композицію, щоб змінювати поведінку головного об’єкта, делегуючи роботу вкладеним об’єктам-помічникам. Проте в Стратегії ці об’єкти не знають один про одного і жодним чином не пов’язані. У Стані конкретні стани самостійно можуть перемикати контекст.
Я б сказав, що State більше про різну поведінку в залежності від стану обʼєкта (наприклад дозволені переходи між статусами). А різні взаємозамінні алгоритми (приклад з відео - різні способи прокласти маршрут. Або ще один - різні платіжні способи при оплаті) - це стратегія
У відео постараюсь продумати гарні приклади
Було б цікаво кожен, тільки бажано на JavaScript 😅
дуже рідко те що питають на співбесіді реально працює на самій галєрі, більшість контор ціни собі не складуть, питають якісь космічні речі а самі роблять проєкти з гівна і палок.
Дякую за комент!
Думаю десь справедливо. Я працював завжди на продуктах, то гівно і палки робиш для себе майбутнього (не кажу що не робиш, тиск, дедлайни і тд завжди є), тому завжди стараюсь робити якісно і прошу від інших, там де маю таку можливість
Крім вищесказаного, нам все одно треба проходити співбесіди на ті галери)
@@10xdev так продукти вони працюють по своїй схемі, яка також залежить і від бюджету але частіше так продуктові контори намагаються не впадати в гівнокод заради прибутку, бо це напряму впливає на їх персональний продукт в майбутньому. Галєри ж переживають за продукт до того моменту поки гроші не перевели і підпис не поставлений, тому зачасту робота яку ви там робите не відповідає вашій кваліфікації, ви або джун якого продали як мідла або мідл якого продали як сеньйора