-
계층을 가지는 구조
분리를 쉽게 재사용을 쉽게 하는게 목표
분리를 잘하기 위해 mvc같은 디자인 패턴이 존재한다.
컨트롤러 -> 서비스 -> 리포지토리로 이해하자
모든 레이어드 아키텍쳐가 위와 같은 계층구조로 되어 있는 것은 아니다. 말 그대로 계층을 가지는 구조인 것이다.
서비스는 비즈니스 로직이 들어가는데 트랜잭션 단위로 실행이 되어야 한다.
비즈니스 로직의 예로는 중복된 회원은 가입 x , 특정 유저 할인 등...
트랜잭션 단위로 실행된다는 것은 중간에 실패된다면 그 작업은 db에 반영이 되면 안 된다는 거다.
또 트랜잭션은 다른 트랜젝션의 연산에 끼어들 수 없다.
www.youtube.com/watch?v=26S4VFUWlJM
레이어 아키텍처는 사람마다 다를 수 있다. 주관적인 것이기 때문에.
프레젠테이션 레이어 -> 도메인 레이어 -> 데이터 소스 레이어로도 볼 수 있다.
위에서 더 세분화를 한다면 도메인 레이어를 서비스 레이어와 도메인 레이어로 나눌 수 있다.
도메인의 기능이 점점 늘어날 때 한 곳에 다 때려박으면 도메인의 재활용성이 떨어진다.
그래서 서비스 레이어를 추가해서 도메인을 좀 더 가볍게 가져가자.
이런 관점에서 보면 서비스 레이어도 도메인 레이어에 포함되는 거다.
'TIL' 카테고리의 다른 글
2021.03.09 기록장 (0) 2021.03.09 2021.03.08 기록장 (0) 2021.03.07 서블릿과 디스패처서블릿 이해하기 (0) 2021.03.07 2021.03.07 기록장 (0) 2021.03.07 @RequestParam과 @PathVariable (0) 2021.03.06