text: Используется, когда: классу заранее неизвестно, объекты каких подклассов ему нужно создавать. класс спроектирован так, чтобы объекты, которые он создаёт, специфицировались подклассами. класс делегирует свои обязанности одному из нескольких вспомогательных подклассов, и планируется локализовать знание о том, какой класс принимает эти обязанности на себя Product — продукт определяет интерфейс объектов, создаваемых абстрактным методом; ConcreteProduct — конкретный продукт реализует интерфейс Product; Creator — создатель объявляет фабричный метод, который возвращает объект типа Product.