Back to questions
Junior — Middle
74
Какая роль у шаблона проектирования Factory и в каких случаях его используют?
Companies where asked
Геомикс
Answer from AI
sobes.tech AI
Шаблон проектирования Factory (фабрика) используется для создания объектов без необходимости явно указывать конкретный класс создаваемого объекта. Он инкапсулирует логику создания объектов, позволяя клиентскому коду работать с абстракциями, а не с конкретными реализациями.
Основные случаи использования:
- Когда нужно создавать объекты из семейства классов, которые реализуют общий интерфейс.
- Когда создание объекта сложное или требует дополнительной логики.
- Для упрощения поддержки и расширения кода, позволяя добавлять новые типы объектов без изменения клиентского кода.
Пример на C#:
public interface IShape {
void Draw();
}
public class Circle : IShape {
public void Draw() => Console.WriteLine("Drawing Circle");
}
public class Square : IShape {
public void Draw() => Console.WriteLine("Drawing Square");
}
public class ShapeFactory {
public IShape GetShape(string shapeType) {
return shapeType.ToLower() switch {
"circle" => new Circle(),
"square" => new Square(),
_ => null
};
}
}
// Использование
var factory = new ShapeFactory();
IShape shape = factory.GetShape("circle");
shape.Draw();
Таким образом, Factory упрощает создание объектов и повышает гибкость архитектуры.