옵저버 패턴 Opserver Pattern

Intro

  • 옵저버 패턴의 이해

옵저버 패턴

옵저버 패턴은 하나의 객체의 상태가 바뀌면 다수의 옵저버들에게 그것을 알리고 각자의 내용을 갱신하게되는 방식이다.

유니티 예제

이벤트 델리게이트를 이용한 예제

Skill Manager

public class SkillManager : MonoBehaviour
{
    public static event Action boostAction = delegate { };

    public void Boost()
    { 
        boostAction(); 
    } 
}
    

Opserver1 Movement

void Start()
{
    SkillManager.boostAction += boostSkill;
}


public void boostSkill()
{
    print("이동속도 5배증가");
}

Opserver2 Movement

void Start()
{
    SkillManager.boostAction += boostSkill;
}


public void boostSkill()
{
    print("이동속도 10배증가"); 
}

Boost 메서드가 실행되면 boostAction 델리게이트를 구독하고 있는 두개의 객체에서 각자의 속도증가 메서드가 실행될것이다.

댓글남기기