728x90
반응형
- 개요
관심사 분리(SoC)는 프로그램을 고유한 기능과 역할에 따라 독립적인 모듈로 나누는 설계 원칙을 의미한다
이를 통해 코드의 재사용성 + 유지보수성 + 가독성을 높일 수 있고 시스템 관리를 용이하게 할 수 있다
이러한 설계 원칙을 프로젝트에 적용하여 하나의 중재자 클래스에 과도하게 역할이 적용되는 것을 방지한다
- 문제 상황

현재 GameSession의 중간 단계에 존재하는 포탈에 대한 중재자는 위와 같이 2개의 역할을 수행하고 있다
게임에 참여 + 퇴장하는 GameSession에 관련된 역할과 로그인 + 회원가입과 같은 포탈에 관련된 역할을 전부 수행한다
- 해결 방안

기존의 조상 클래스를 상속(Is-A)하는 방식에서 수정하여 컴포지션(Has-A) 방식의 컴포넌트 구조로 변경한다
이를 통해 각각의 중재자 클래스의 용도에 따라 독립된 클래스를 생성할 수 있다
또 1개의 중재자 클래스에 1개의 데이터 애셋을 할당하여 관리할 수 있다
위와 같은 방식으로 수정하게 되면 위젯이나 다른 클래스들은 중재자 클래스를 필요에 따라 컴포넌트로 사용할 수 있다
728x90
반응형
'언리얼 엔진 - 게임 프로젝트 > AWS GameLift를 활용한 데디케이트 FPS 프로젝트' 카테고리의 다른 글
| AWS Cognito - 12) SignUp API 요청과 처리 (0) | 2026.06.11 |
|---|---|
| AWS Cognito - 11) 중재자 클래스 분리 + Cognito 반환값 구조체 (0) | 2026.06.11 |
| AWS Cognito - 9) 포탈 관련 API Gateway 생성 (0) | 2026.06.07 |
| AWS Cognito - 8) 로그인 AWS 람다 생성 (0) | 2026.06.06 |
| AWS Cognito - 7) 회원인증 AWS 람다 생성 (0) | 2026.06.06 |