Тёмный

Разбор вопроса с собеседования: Что такое "Фабричный метод"? 

Макс из codereview
Подписаться 4,2 тыс.
Просмотров 2,4 тыс.
0% 0

Разбираем вопрос по Паттерну фабричный метод вместе с Senior Frontend разработчиком.
Предыдущее видео, что такое Паттерн Фабрика: • Разбор вопроса с собес...
refactoring.gu... - фабричный метод
habr.com/ru/co... - GRASP creator
habr.com/ru/co... - GRASP low coupling\high cohesion
👉 Поможем найти работу разработчикам. Записаться на бесплатную консультацию - goo.su/NUfFV.

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 11   
@alexmarch
@alexmarch Год назад
ну тогда надо было про фаьрику расказать а потом про фабричный метод. Объеяснение есть но мне кажется можно было это сделать лучше
@millkiway3682
@millkiway3682 Год назад
Слишком узкий юскейс. ФМ используется не только в этом случае "при наличие релэйшенов"
@yourcodereview
@yourcodereview Год назад
Спасибо, что подсветил!
@millkiway3682
@millkiway3682 Год назад
Про необходимость использования какой-то мешанины наговорил, но с невозмутимым видом. Кохижн, коуплин, grasp - много слов но все не по сути.
@tetraset
@tetraset Год назад
Спасибо за видео! Single responsibility при этом не нарушается в Car и Bike? Теперь они отвечают еще и за создание колес помимо движения
@yourcodereview
@yourcodereview Год назад
Создание объектов внутри зависимых классов это довольно распространенная практика. К примеру тот же "фасад" чаще всего порождает нужные ему объекты сам. Мало того, это настолько обычная практика что для нее даже вывели отдельный тип связи "композиция". В нашем случае могла быть и она, может быть она даже была бы уместнее, но на диаграмме указана ассоциация дабы не усложнять) Но и в Вашем замечании есть доля правды. Но лишь от части. Само по себе создание колес вполне может происходить через фабрику\метод create и т.д., просто Bike и Car знают о том какие колеса им нужны, потому ссылаясь на принцип GRASP creator (habr.com/ru/company/otus/blog/505618/) мы можем заключить что им позволено создавать нужные им же экземпляры классов) Ну и еще одно маленькое замечание. Создавая эти объекты таким образом мы обеспечиваем консистентность данных. К примеру если бы колеса создавались вне Car и Bike тогда у программиста который разбирал бы код вполне могла бы промелькнуть резонная мысль "а почему тут нарушается принцип инверсии зависимостей?" И он заменил бы CarWheel и BikeWheel на Wheel. А после пришел бы другой программист и воспользовавшись этим заставил бы машину ездить на велосипедных колесах))
@millkiway3682
@millkiway3682 Год назад
@@yourcodereview а на вопрос так и не ответили
@Serge86210
@Serge86210 7 месяцев назад
@@yourcodereview и dependency inversion нам не закон, ну да ну да...
@taras8161
@taras8161 Год назад
Да ребята ! Я всегда считал, что senior, отличается от junior позиции, один из обязательных моментов - это владение профессиональной лексикой. Поясню => ты либо говори на русском, либо на английском! А то получается yes, ok, макдональс))))) много микса -> спишем на волнение)))))
@qorecode6141
@qorecode6141 Год назад
Ну, нужно паттерны на 1C объяснять, что бы названия классов на русском были XD Кстати, Тарас, зачем ты использовал слово "микс" если есть замечательные аналоги? К примеру "мешанина")) Спишем на волнение XD
@millkiway3682
@millkiway3682 Год назад
@@qorecode6141 миксер - мешатель
Далее
Фабричный метод
15:48
Просмотров 60 тыс.
We finally APPROVED @ZachChoi
00:31
Просмотров 7 млн