Назад к вопросам
Junior — Middle
84
Какова основная функция паттерна Factory в объектно-ориентированном программировании?
Компании, где спрашивали
Sogwell
Ответ от нейросети
sobes.tech AI
Паттерн Factory в объектно-ориентированном программировании предназначен для создания объектов без необходимости указывать конкретный класс создаваемого объекта напрямую. Его основная функция — инкапсуляция логики создания объектов, что позволяет:
- Избавиться от жесткой зависимости кода от конкретных классов.
- Упростить расширение и поддержку кода (например, добавление новых типов объектов).
- Централизовать создание объектов, что улучшает читаемость и управляемость.
Пример простого Factory на Java:
interface Animal {
void speak();
}
class Dog implements Animal {
public void speak() { System.out.println("Woof"); }
}
class Cat implements Animal {
public void speak() { System.out.println("Meow"); }
}
class AnimalFactory {
public static Animal createAnimal(String type) {
if ("dog".equalsIgnoreCase(type)) return new Dog();
else if ("cat".equalsIgnoreCase(type)) return new Cat();
else throw new IllegalArgumentException("Unknown animal type");
}
}
// Использование:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Выведет: Woof