//
Search
🦁

박영승_0713

자바 SSG-TDD

Controller, Service, Repository란 ?!

오늘 자바 SSG-TDD 시간에 Controller, Service, Repository의 개념에 대해 학습하였다.
먼저 Controller를 알기 전에 MVC( Model, View, Controller )패턴을 알아야 한다.

MVC 패턴

Model (모델)
데이터와 관련된 일을 한다. 저장, 가공 등
비지니스로직과 관련된 부분 처리
데이터베이스 관련로직 구현
View (뷰)
사용자에게 알맞은 화면을 보여주는 역할을 수행.
데이터를 시각적으로 표현해준다.
Controller (컨트롤러)
Model과 View를 연결해주기 위한 매개체
사용자가 View(GUI)를 통해 입력을 하면 Model(데이터)을 변경해 주는 것

MVC 패턴을 사용해야 하는 이유

비즈니스 로직과 UI 로직을 분리하여 유지 보수를 독립적으로 수행할 수 있게 한다

Controller

MVC패턴 설명과 똑같이 Controller은 MVC에서 C에 해당 하며 주로 사용자의 요청을 처리 한 후 지정된 뷰에 모델 객체를 넘겨주는 역할을 한다.
사용자의 요청이 진입하는 지점이며 요청에 따라 어떤 처리를 할지 결정을 Service에 넘겨준다.
그리고 Service에서 실질적으로 처리한 내용을 다시 Controller가 받고 받은것을 Controller가 넘겨주는 역할을 하는것이다.
Controller 소스코드

Service

서비스에는 사용자의 요구사항을 처리하는 로직이 있다. DB의 데이터가 필요할 때는 Repository 에게 요청을 한다. 규모 프로젝트일 수록 Service의 내용이 비대해질 것이다.
Service 소스코드

Repository

Entity에 의해 생성된 DB에 접근하는 메서드 들을 사용하기 위한 인터페이스이다.
쉽게 말해 DB 연결, 해제, 자원을 관리하고 CRUD 작업을 처리한다.
Repository 소스코드

결론

큰 틀에서 보면 이런 구조가 될 것이다.