비즈니스로직의 위치 질문입니다.

2017-08-07 11:19

제가 진행한 Spring 기반에 MVC 패턴을 적용한 프로젝트는

controller - service - repository

이렇게 구조를 가져가고 controller는 request에 대한 요청을 받아서 service에서 비즈니스로직을 처리하고 repository를 통해 DB에 접근하는 방식으로 개발을 진행해왔었는데요

박재성 강사님께 수업을 들었을 때는 저렇게 하기보단

controller - repository - object(제가 알고 있는 vo객체)

이렇게 구조를 가져가면서 데이터를 담는 vo객체에서 비즈니스로직을 처리하는게 좀더 객체지향적인 개발이다라고 들었습니다. 그리고 굳이 서비스가 필요없다라고도 하셨는데, vo객체에 비즈니스로직을 처리하는게 개발을 진행할 때 어떤 장단점이 있을지 궁금합니다.

감사합니다.

2개의 의견 from SLiPP

2017-08-07 20:12

이건 글로 설명하기는 힘들 것 같아요. 상태 값을 가지는 객체에 핵심 로직을 구현할 수 있도록 구현해 볼 것을 추천합니다.

좀 더 깊이 있게 학습해 보신다면 Domain Driven Design 관련 책을 통해 학습해 보셨으면 좋겠어요. 원래 Service의 역할은 비지니스 로직을 구현하기 위한 것이 아니라 Transaction, 권한 처리, 다른 Service와의 연결과 같다고 보시면 됩니다.

의견 추가하기

연관태그

← 목록으로