не совсем удачный пример. Точнее не удачно расставлены акценты - в итоге профит фабрики остался "за кадром". Варианты поставлены в различные условия. В данном случае switch с таким же успехом можно было бы заменить на тот код, что в примере на 57-60 строках (только без return).
Очень круто. Важная особенность этого видео в том, что показывается "трудный путь", а затем лаконичное решение, которое и дает постигнуть назначение и пользу этого паттерна. Автору большое спасибо. Только потише клаву и погромче речь хотелось бы. Респект!
Не понятно, в чём преимущество создания класса Factory, если можно точно также создать такую же функцию, которая принимает на вход имя класса и создаёт экземпляр и эта функция будет без класса Factory
лол, это паттерн еще и простой. Когда он начнет разрастаться, в твоих классах черт ногу сломит. Если ты не понимаешь ООП, значит ты не дорос до этого как программист. Посмотри любые библиотеки или уже готовые проекты хотя бы на github, все они на ООП написаны, и это не просто так.
В твоем варианте название класса, которое подавать на вход функции, надо узнать до исполнения функции. Т.е. какой-то логикой до вызова функции ты должен понять, экземпляр какого класса создавать. Если эта функция будет использоваться в десятке мест, то в каждом из этих мест надо будет писать логику по определению названия класса, что очень неудобно и загромождает код и нарушает принципы DRY. В случае с фабрикой, название создаваемого экземпляра определяется логикой внутри фабрики, т.е. только в одном месте приложения, это не загромождает код, является надежным получением экземпляра и соответствует Single Responsibility.
не смотря на то что ты сидишь на водопаде это лучше объяснение фабрики которое в моей голове отложится!!! я уже десятки уроков смотрел и нихера не ясно было! У тебя все ясно!
Все нормально, но такое чувство, что ты видео записываешь возле водопада))
не совсем удачный пример. Точнее не удачно расставлены акценты - в итоге профит фабрики остался "за кадром". Варианты поставлены в различные условия. В данном случае switch с таким же успехом можно было бы заменить на тот код, что в примере на 57-60 строках (только без return).
Винда, Sublime Text без регистрации, клики мышкой, незнание английского, опечатки - это вот прям сразу настраивает на понимание 👍🏻
Супер, информация зашла с первого раза, спасибо! С Рождеством )))
Классное объяснение коротко и понятно. Звук да подтянуть нужно. Ждём новых уроков! Спасибо!
самое человеческое объяснение
Очень круто. Важная особенность этого видео в том, что показывается "трудный путь", а затем лаконичное решение, которое и дает постигнуть назначение и пользу этого паттерна. Автору большое спасибо. Только потише клаву и погромче речь хотелось бы. Респект!
Жаль то что показал "автор" не является паттерном как абстрактная фабрика, ни фабричный метод даже приблизительно... жаль.
Не понятно, в чём преимущество создания класса Factory, если можно точно также создать такую же функцию, которая принимает на вход имя класса и создаёт экземпляр и эта функция будет без класса Factory
лол, это паттерн еще и простой. Когда он начнет разрастаться, в твоих классах черт ногу сломит. Если ты не понимаешь ООП, значит ты не дорос до этого как программист. Посмотри любые библиотеки или уже готовые проекты хотя бы на github, все они на ООП написаны, и это не просто так.
В твоем варианте название класса, которое подавать на вход функции, надо узнать до исполнения функции. Т.е. какой-то логикой до вызова функции ты должен понять, экземпляр какого класса создавать. Если эта функция будет использоваться в десятке мест, то в каждом из этих мест надо будет писать логику по определению названия класса, что очень неудобно и загромождает код и нарушает принципы DRY. В случае с фабрикой, название создаваемого экземпляра определяется логикой внутри фабрики, т.е. только в одном месте приложения, это не загромождает код, является надежным получением экземпляра и соответствует Single Responsibility.
@@petrosnn $class = new $classname();
@@linkylink и что? $classname надо определить. Здесь как раз разговор о том, в каком месте это делать
@@petrosnn в factory его тоже надо передавать
Уроки разработки возле водопада-просто находка
не смотря на то что ты сидишь на водопаде это лучше объяснение фабрики которое в моей голове отложится!!! я уже десятки уроков смотрел и нихера не ясно было! У тебя все ясно!
Как достать свойства класса из $login? Например, запихнув их в условия?
спасибо, я наконец-таки понял
Круто все понял, но микро шумит. Спасибо!
Как раз голову ломал чем заменить длинный switch case
код скинь
Полнейшее неуважение - такой звук
друг смени пожалуйста микрофон или научись убирать шумы, это пиздец как будто в душе записывал