목록Unreal스터디/Delegate (2)
그냥 게임개발자

푸시 형태의 알림을 구현하는 데에는 발행-구독 디자인 패턴이 적합합니다. 이 패턴은 시스템을 발행자와 구독자로 분리합니다. 콘텐츠 제작자는 콘텐츠를 만들고, 발행자는 이 콘텐츠를 구독자에게 배포하는 역할을 합니다. 구독자는 배포된 콘텐츠를 받아서 사용하게 됩니다. 이렇게 하면 콘텐츠 제작자와 구독자가 서로를 알 필요 없이, 발행자를 통해서 콘텐츠를 생산하고 전달하는 느슨한 결합 구조를 구현할 수 있습니다. 이 패턴의 장점은 느슨한 결합으로 인해 유지보수가 쉽고, 시스템의 유연성이 높아집니다. 또한 테스트가 쉬워지고, 시스템의 규모를 유연하게 조절할 수 있으며, 기능 확장이 용이하다는 점입니다. 이러한 이유로 발행-구독 디자인 패턴은 푸시 형태의 알림 구현에 매우 적합합니다.
함수를 다루는 방법에는 여러 가지가 있습니다. 가장 기본적인 방법은 함수 포인터를 활용한 콜백(callback) 함수 구현입니다. 이 방법은 가능하긴 하지만, 함수를 정의하고 사용하는 과정이 복잡하고, 안전성을 개발자가 직접 검증해야 합니다. C++ 17 구약의 std::bind와 std::function을 활용하는 방법이 있습니다. 이 방법은 사용이 간편하지만, 실행 속도가 비교적 느린 단점이 있습니다. C#에서는 델리게이트(delegate)라는 키워드를 제공합니다. 이를 활용하면 마치 객체처럼 함수를 다룰 수 있어 편리합니다. 델리게이트는 안정적이고 간편한 선언을 가능하게 해줍니다. 언리얼 C++에서도 델리게이트를 지원합니다. 이를 통해 느슨한 결합 구조를 간편하고 안정적으로 구현할 수 있습니다. 이..