개요
Windows API인 Socket을 내가 만든 CSocket으로 한번 감싼 뒤 CNetwork라는 인터페이스를 상속받는다.
그 후 CLocator 라는 중재자 클래스를 가지고 다른 클래스와 통신을 한다.
Network Class(전)
기존 Network는 그냥 전역 변수로 정의된 Socket이었다.
이렇게 전역변수로 실행했던 Network 관련 변수 및 함수들을 CSocket 클래스와 CNetwork 클래스로 감쌌다.
Network Class(후)
SOCKET API를 감싼 CSocket 클래스이다. CNetwork를 상속받으면서 내부의 기능들은 Private으로 다른 곳에서 호출할 수 없게 했다.
중재자 패턴을 적용하는 CLocator 클래스이다.
지금은 CNetwork 클래스만 있지만 추 후 더 늘어날 수 있을거같다.
호출을 할 때에는 싱글턴과 유사한 방식으로 호출해서 값을 넘겨준다.
후기
중간에 다른 일이 생겨서 일주일 정도는 진행을 하지 못했다. 그러다 보니 중간에 작성하던 코드를 다시 이해하느라 시간이 조금 걸렸다. 사실 SOCKET API를 클래스로 감싸야 하나 말아야 하나 고민을 했었는데 CNetwork라는 인터페이스를 상속받게 해서 좀 더 폐쇄적으로 API를 감쌀 수 있는 거 같아서 중재자 패턴을 사용했다.
'portfolio' 카테고리의 다른 글
[리뉴얼] 3- 공간 분할을 이용한 Sector Class (0) | 2020.08.03 |
---|---|
[리뉴얼] 2- 경량 패턴을 이용한 World Class (0) | 2020.07.27 |
[리뉴얼] 개요 및 목표(20.11.28 깃허브 추가) (0) | 2020.07.09 |
Unreal Engine4 & IOCP (2) | 2019.12.16 |
DirectX & IOCP (1) | 2019.12.16 |