1. 문제의 인식 : 관심사 분리가 안된 소켓 코드

const io = new Server(httpServer, {});

io.on('connection', (socket) => {
	socket.on('disconnect', () => {
		//!!! 소켓에 관련된 로직 !!!
  });

	...

  socket.on('domainA', () => {
		//!!! '도메인A'에 관련된 로직 !!!
  });

  socket.on('domainB', () => {
		//!!! '도메인B'에 관련된 로직 !!!
  });

	...
}

2. 문제 접근 : REST API 서버는 도메인 별로 Controller를 나누던데?

3. 나의 시도 : 그럼 Socket 서버에서는 관심사 분리가 어려울까?

Application Layer 구현하기

Controller Layer 구현하기