Исходники, PDF, общение с автором и учениками, телеграмм - для данных уроков - бесплатно доступно после подписки на странице javabegin.ru Ссылка на весь плейлист уроков youtube: bit.ly/2MmHfGm
Получается что фабричный метод, это еще один уровень абстракции над уже существующими методами (или класами) по созданию новых обьектов. Если применить это к классам то: "Фабричный метод позволяет создавать экземпляры различных класов(а не одного класса), в зависимости от входящих данных.", он делает код более гибким(избавляя от необходимости указывать конкретный клас) и читабельным уменьшая количество кода(заменяя разные "if").
То ощущуение: "когда ты изучаеш Python, а что такое фабричный метод понял на примерах кода Java". Классное обьяснение, немного скомканое, но блин доходчиво даже несмотря на то что я изучаю другой язык.