There was an error while loading. Please reload this page.
유저가 사용 가능한 로직에서는 로그인 후 유저로써 할 수 있는 행위를 가집니다. 유저 관련 기능과 로그인 기능은 서비스 레이어에서 UserService와 LoginService로 분리해 단일 책임 원칙을 지키고자 했습니다.
LoginCheckAspect는 로그인 후 실행되는 모든 유저 관련 로직에서 동일한 유저인지 매번 확인합니다. AOP를 이용해 여러 메서드 실행 전에 메인 로직과 분리해 적용했습니다.
로그인의 경우 컨트롤러에서 UserService에서 넘어가게 되며, UserService.login()에서 기존에 등록되었던 유저인지 확인한 후 LoginService.login()에서 세션에 유저의 아이디와 역할을 저장하게 됩니다.
구매 이력의 경우는 게임에 대한 데이터이지만 유저와 연결되기 때문에 유저 로직에 추가했습니다.
충전 로직의 경우는 충전 방식 개수만큼 서비스 클래스가 증가됩니다.