제가 진행한 Spring 기반에 MVC 패턴을 적용한 프로젝트는
controller - service - repository
이렇게 구조를 가져가고 controller는 request에 대한 요청을 받아서 service에서 비즈니스로직을 처리하고 repository를 통해 DB에 접근하는 방식으로 개발을 진행해왔었는데요
박재성 강사님께 수업을 들었을 때는 저렇게 하기보단
controller - repository - object(제가 알고 있는 vo객체)
이렇게 구조를 가져가면서 데이터를 담는 vo객체에서 비즈니스로직을 처리하는게 좀더 객체지향적인 개발이다라고 들었습니다. 그리고 굳이 서비스가 필요없다라고도 하셨는데, vo객체에 비즈니스로직을 처리하는게 개발을 진행할 때 어떤 장단점이 있을지 궁금합니다.
감사합니다.
2개의 의견 from SLiPP
이건 글로 설명하기는 힘들 것 같아요. 상태 값을 가지는 객체에 핵심 로직을 구현할 수 있도록 구현해 볼 것을 추천합니다.
좀 더 깊이 있게 학습해 보신다면 Domain Driven Design 관련 책을 통해 학습해 보셨으면 좋겠어요. 원래 Service의 역할은 비지니스 로직을 구현하기 위한 것이 아니라 Transaction, 권한 처리, 다른 Service와의 연결과 같다고 보시면 됩니다.
@자바지기 감사합니다! 관련 내용을 찾기가 힘들었는데 키워드 몇개 주셔서 좀 더 찾아서 학습할 수 있을거 같습니다.
의견을 남기기 위해서는 SLiPP 계정이 필요합니다.
안심하세요! 회원가입/로그인 후에도 작성하시던 내용은 안전하게 보존됩니다.
SLiPP 계정으로 로그인하세요.
또는, SNS 계정으로 로그인하세요.