인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

View 분리 - v2

V1과 V2의 차이

작성

·

471

0

V1은 컨트롤러에서 바로 렌더링을 진행하는 거고

 

V2는 MyView 객체를 생성해서 MyView에서 렌더링을 진행하는데요

 

이러면 얻는 이점이 뭐가 있나요? 코드만 더 작성해야되는데 손해 아닌가요 ?

답변 1

0

안녕하세요, hjemsti 님. 공식 서포터즈 y2gcoder 입니다.

개인적으로 개발자가 작성해야 하는 코드양이 적은 것이 좋은 코드와 일맥상통하지 않는다고 생각합니다. 예를 들어 요즘 핫한 DDD도 바운디드 컨텍스트라는 개념 때문에 각 도메인 간에 중복되는 코드를 작성하게 되고, 코드의 양도 많아지게 되지만 좋은 디자인 중 하나라는 것은 알고 계실 것이라 생각합니다. V1에서 V2로 리팩토링하는 이유는 뷰에 해당하는 로직을 분리함으로서 오는 이점을 보셔야 합니다.

개발자가 주로 작성해야 하는 컨트롤러 코드가 간결해졌습니다. V1 로직에서는 컨트롤러의 로직 내에 데이터를 처리하고 view 를 렌더링하는 로직이 함께 있었습니다. V2 로직으로 리팩토링 하면 View를 렌더링하는 로직을 분리해냈기 때문에 컨트롤러 코드도 한층 간결해진 것을 볼 수 있습니다.

또한 뷰를 렌더링하는 부분을 분리해냈기 때문에 개발자는 컨트롤러에서 데이터를 가공하는 부분에 집중할 수 있습니다. 개발하시다 보면 아시겠지만 뷰를 렌더링하는 부분은 변화가 적은 부분입니다. 주로 개발자가 컨트롤러 코드를 작성할 때마다 바뀌는 부분은 데이터를 가지고 하는 작업입니다. 그래서 변경이 적은 부분을 분리해내 재사용할 수 있게 만들면서 개발자는 변경이 많은 부분에만 집중할 수 있게 되었습니다.

이러한 이점이 지금은 와닿지 않으실 수 있으나 계속 강의를 수강하시면서 MVC 컨트롤러를 바뀌는 모습을 보시면 좀 더 와닿지 않을까 생각합니다.


감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기