Sobes.tech
Junior — Middle
90

Какая роль у шаблона проектирования Factory и в каких случаях его используют?

Сұралған компаниялар
Геомикс

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 упрощает создание объектов и повышает гибкость архитектуры.