Ssssong += Dev

[디자인패턴/C#] 옵저버 패턴, 템플릿 메서드 본문

개발/공부

[디자인패턴/C#] 옵저버 패턴, 템플릿 메서드

ssong_dev 2022. 6. 21. 14:27

[옵저버 패턴]

옵저버 디자인 패턴 클래스 다이어그램

 

 

유니티, C#의 델리게이트 기능과 같다.

한 객체의 상태가 바뀌면 그 객체에 의존하는(해당 객체를 구독하는) 다른 객체들은 자동 갱신된다.

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=cdw0424&logNo=221479970701 

 

C# - Delegate,Action,func

디자인 패턴에서 말하는 옵저버 패턴을 C#에선 델리게이트로 구현 할 수있다. C나 C++에서는 포인터로 ...

blog.naver.com

 

 

 

[템플릿 메서드]

어떤 작업을 처리하는 일부분을 캡슐화해 특정 단계의 기능을 바꾸는 패턴

평소에 자주 쓰고 있던 패턴이다.

public class Monster : MonoBehaviour
{
	public void Attack()
    {
    	UpGround();
        ...
    }
}

public class Dragon : Moster
{
	public virtual void UpGround() {};
}

public class GoldDragon : Dragon
{
	public override void UpGround() {
    	Debug.Log("수면에서 뛰어 오름");
    };
}

public class BlueDragon : Dragon
{
	public override void UpGround() {
    	Debug.Log("날아 오름");
    };
}