해결된 질문
작성
·
319
1
수업을 듣고 코드 분석하다가 질문드립니다. 이게 명확한 차이가 구분이 안가서 그런데
-Send
-ProcessSend
-RegisterSend
-OnSend (이건 Send 완료시로 알고있는데 맞나요?)
간의 어떤 차이가 있나요?
그리고 제가 코딩 실력이 부족해서 그런데 하나의 큰Send안에서 다 처리하는게 아니라 세분화 시켜놓아서 얻는 이점이 어떤건가요?
답변 1
3
우선 외부에 노출시키고 싶은 (public/protected) 부분과 아닌 부분으로 1차적으로 나뉩니다.
Send와 OnSend는 외부에서 사용하는 함수이죠.
Process와 Register를 구분시켜 놓은 이유는
각기 역할이 다르기 때문인데
실제 서버 송수신 함수를 제가 낚시에 비유를 많이 합니다.
낚시대를 던지고 (Register), 물고기 입질이 오면, 낚시대를 끌어 올려야(Process)겠죠.
둘이 하는 역할이 다르기 때문에 구분될 수 밖에 없습니다.
Send 완료시 호출되는 OnSend는 유저레벨에서 override해서
원하는 방식으로 사용하는 것입니다.
엔진 코드와 서버 컨텐츠 코드가 구분되어 있기 때문에
유동적으로 활용할 수 있게 별도의 함수로 빼놓은 것이죠.
코드에 절대적인 것은 없으니
다른 구조가 좋다면 수정해보시고
함수들을 하나로 관리하게 합쳐보시기 바랍니다.
다만 그러면 필연적으로 호출 시점 (등록과 완료 통지)에 따라
살짝 합치기 애매한 상황이 발생할겁니다.