
[디자인패턴] 트랜잭션 스크립트 패턴과 도메인 모델 패턴
·
CS
JPA 강의를 들으면서 도메인 모델 패턴을 접하게 되었다. 이전까지는 모든 비즈니스 로직은 서비스에서 처리하고, 엔티티에서는 생성자와 getter setter 정도만 정의하는 트랙잭션 스크립트 패턴을 사용했기 때문에 어떤 게 더 좋은지(?)에 대한 지식 충돌이 생겼다. 트랜잭션 스크립트 패턴트랜잭션 스크립트란? 트랜잭션 스크립트는 우리가 흔히 은행에서 이체를 할 때 '내 계좌에서 잔고 확인 -> 받는 사람 확인 -> 이체 실행 -> 잔고 감소' 순으로 진행되는 로직이 하나의 로직으로 처리되어야 하고, 이 과정에서 한 번이라도 오류가 발생하면 트랙잭션의 원자성(All or Nothing)에 의해 모든 과정이 취소되어야 한다. (만약 오류가 발생하지 않으면 모든 과정이 처리되어야 한다.) 즉, 트랜잭션 스..