[Design Pattern] 5. 컴포넌트 패턴(component)

업데이트:

카테고리:

태그: ,




component패턴

component






5. 컴포넌트 패턴 (component)

image

  • 객체의 행동을 작은 부품(Componenet) 으로 분리
  • 부품을 조합하여 복잡한 동장을 구현하는 방식
component 코드보기
// 컴포넌트 인터페이스
public interface IComponent
{
    void Update();
}

// 구체적인 컴포넌트 클래스들
public class MovementComponent : IComponent
{
    public void Update()
    {
        // 이동 관련 로직
    }
}

public class JumpComponent : IComponent
{
    public void Update()
    {
        // 점프 관련 로직
    }
}

// 게임 오브젝트 클래스
public class GameObject
{
    private List<IComponent> components = new List<IComponent>();

    public void AddComponent(IComponent component)
    {
        components.Add(component);
    }

    public void Update()
    {
        foreach (var component in components)
        {
            component.Update();
        }
    }
}

// 사용 예시
GameObject player = new GameObject();
player.AddComponent(new MovementComponent());
player.AddComponent(new JumpComponent());

player.Update();








잡담, 정리

  • 디자인 패턴은 애초에 특정 문제를 해결하기 위해 고려된 것.(성능, 메모리 사용 고려)
  • 추가 내용 정리




[C#] 디자인 패턴 (Design Pattern)
TOP


📔

댓글남기기