Unity/Design Pattern

Unity로 이해하는 빌더 패턴

코샵 2023. 9. 27. 10:37
반응형

빌더 패턴이란?

빌더 패턴은 복잡한 객체를 생성하는 방법을 캡슐화하는 디자인 패턴입니다. 빌더 패턴을 사용하면 객체를 생성하는 과정을 단계별로 나누어 처리할 수 있습니다.

 

빌더 패턴의 장점

  • 객체를 생성하는 과정을 단순화할 수 있습니다.
  • 객체의 생성 순서를 제어할 수 있습니다.
  • 객체의 생성 과정을 재사용할 수 있습니다.
  • 객체의 생성 과정을 테스트하기 쉽습니다.

Unity에서의 빌더 패턴

Unity에서 빌더 패턴을 사용하면 다음과 같은 경우에 유용합니다.

  • 복잡한 GameObject를 생성해야 하는 경우
  • GameObject의 생성 순서를 제어해야 하는 경우
  • GameObject의 생성 과정을 재사용해야 하는 경우
  • GameObject의 생성 과정을 테스트해야 하는 경우

Unity에서 빌더 패턴을 사용하는 방법

Unity에서 빌더 패턴을 사용하려면 다음과 같은 단계를 따릅니다.

  1. 빌더 클래스를 생성합니다.
  2. 빌더 클래스에 객체를 생성하는 단계별 메서드를 정의합니다.
  3. 객체를 생성하려는 곳에서 빌더 클래스를 사용하여 객체를 생성합니다.

Unity에서 빌더 패턴을 사용하는 예시

다음은 Unity에서 빌더 패턴을 사용하는 예시입니다. 예시에서는 Car 클래스를 빌더 패턴을 사용하여 생성합니다.

// Car 클래스
public class Car
{
    public string Brand { get; set; }
    public string Model { get; set; }
    public int Year { get; set; }
    public Color Color { get; set; }
}

// CarBuilder 클래스
public class CarBuilder
{
    private Car _car;

    public CarBuilder()
    {
        _car = new Car();
    }

    public CarBuilder SetBrand(string brand)
    {
        _car.Brand = brand;
        return this;
    }

    public CarBuilder SetModel(string model)
    {
        _car.Model = model;
        return this;
    }

    public CarBuilder SetYear(int year)
    {
        _car.Year = year;
        return this;
    }

    public CarBuilder SetColor(Color color)
    {
        _car.Color = color;
        return this;
    }

    public Car Build()
    {
        return _car;
    }
}

// GameObject를 생성하는 곳
Car car = new CarBuilder()
    .SetBrand("Tesla")
    .SetModel("Model 3")
    .SetYear(2023)
    .SetColor(Color.Red)
    .Build();
더보기

이 코드는 다음과 같은 GameObject를 생성합니다.

Brand: Tesla

Model: Model 3

Year: 2023

Color: Red

 

결론

빌더 패턴은 복잡한 객체를 생성하는 방법을 캡슐화하는 강력한 디자인 패턴입니다. Unity에서 빌더 패턴을 사용하면 복잡한 GameObject 생성하는 과정을 단순화하고, 객체의 생성 과정을 재사용하고, 객체의 생성 과정을 테스트하는 도움이 됩니다.