Фабричный метод (шаблон проектирования)design pattern in object-oriented programming