포스트

Component Pattern 컴포넌트 패턴

위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다.

Component Pattern

  • 컴포넌트를 기반으로 한 개체가 여러 분야를 서로 커플링없이 다룰 수 있게 해주는 패턴.
    • 커플링(Coupling)이란? S/W 엔지니어링에서 두 모듈간의 상호 의존성의 정도를 나타내는 용어.

      일반적으로 각 모듈이 독립적임을 의미하는 낮은 커플링 (Loose Coupling)을 지향한다. 이는 유지보수성, 확장성, 재사용성을 향상시킨다.

  • 유니티에 이러한 패턴이 아주 잘 녹아있다.
    • GameObject에 여러 컴포넌트 (RigidBody, Collider, … )를 단순히 추가하고, 제거할 수 있다.
    • GameObject에 추가적인 기능이 요구되면 추가하여 해결할 수 있고,
    • GameObject에 기능의 삭제가 요구되면 단순히 삭제하여 해결할 수 있다.
  • 해당 기능에 문제가 생기면 고려해야 할 범위가 해당 컴포넌트에 한정된다는 장점이 있고,
  • 요구사항이 수정되어도, 요구사항에 해당하는 컴포넌트만 수정할 수 있기 때문에 유지보수에 큰 도움이 되는 패턴이다.
  • 이는 코드가 복잡해지고 방대해질 수록, 그 장점이 두드러진다.
  • 상속의 복잡성도 피할 수 있고, 캡슐화가 더욱 촉진되는 장점이 생긴다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.