Паттерн "Фабрика" — это один из паттернов, который помогает создавать объекты. По сути, это удобный шаблон, который мы можем использовать в коде. И оказывается, что существует несколько способов создать объект с одинаковым названием "Фабрика". Один из них достаточно простой и мы его везде используем, а второй уже посложнее, но как раз он описан в книге банды четырех. Фабричный объект: мы делаем отдельный класс, который позволит нам добавлять новые объекты определенного типа, не задевая остальной код. И в этом случае создание будет в одном файлике и у нас не будет дублирования. Я это представляю себе так: у нас есть котики Барсик, Персик и Кейма. Мы можем в нужных местах самостоятельно создавать и вызывать котиков. Но в какой-то момент котиков может стать слишком много и они все будут разбросаны по разным местам. Поэтому изначально можно создать некий кошачий дом. И в нужных местах везде обращаться к этому кошачьему дому и просить позвать нужного котика. Тогда, если появится новый котик