보통 Spring
으로 프로젝트를 하면 위와 같은 계층 구조로 나눠서 작업을 하게 된다. 여기서 정리할 부분은 Service
계층이다.
Service
계층에서는 비즈니스 로직(Business Logic)
을 짜야한다는 말을 많이 들었지만, 누군가한테 비즈니스 로직이 무엇인지 설명하라 하면 나도 잘 모르고 있는 것 같다.
그래서 이번 기회에 정리해보려 한다.
예를들어, 우리가 어떤 앱이나 웹에서 회원가입을 하는 과정을 생각해보자. 여러 가지로 인증을 하고 거치는 과정이 있겠지만
가장 기본적으로 아이디 중복 검사
는 반드시 하게될 것이다. 이것의 과정은 대략 2가지로 볼 수 있다.
- 서버에서 사용자의 아이디를 받아온 후에 데이터베이스를 조회해 현재 같은 아이디가 있는지 없는지 검사한다.
- 같은 아이디가 있다면
사용 중인 아이디가 있습니다
라고 사용자에게 보여준다.
여기서 2번 영역은 위의 계층에서 Presentation Layer
로 볼 수 있다. 그리고 1번 영역이 바로 Logic영역, Model 영역
이라고 불린다.
바로 2번 영역의 코드를 작성하는 곳이 비즈니스 로직(Business Logic)
이라고 할 수 있다.
이러한 비지니스 로직은 유저 눈엔 보이진 않지만, 유저가 바라는 결과물을 올바르게 도출하기 위해 코드로 짜여진다.
즉, 프로그래머는 유저가 원하는 행위를 컴퓨터에게 잘 전달하기 위해서는 비즈니즈 로직을 잘 구상해야 한다는 의미이다.