ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MVC 패턴
    기술 이야기/Design 2020. 10. 20. 15:54
    반응형

    MVC 패턴 간략하게 정리

    • Model
      • 비즈니스 로직을 구현하는 영역, 데이터를 처리하는 부분
      • DB 연결 및 데이터 CRUD 작업을 수행
      • 최근에는 domain 영역과 비즈니스 로직 영역을 나누어 service에서 비즈니스 로직을 분기 처리, domain에서 각 역할을 분기처리
    • View
      • 컨트롤러에게 받은 모델의 결과값을 가지고 사용자에게 출력할 화면을 만드는 역할
      • 만들어진 화면을 웹 브라우저에 전송 ~> 웹브라우저가 출력
    • Controller
      • 클라이언트 요청에 따라 실제 업무를 수행하는 모델 컴포넌트를 호출해주는 역할
      • 클라이언트가 보낸 데이터를 모델에 전달할 때, 데이터를 가공하기도 한다.

    2020.12.04 추가

    • 컨트롤러의 역할은 시스템을 사용하기 위한 인프라와 관련된다.(데이터 관련 X)
    • 비즈니스 로직은 데이터를 어떻게 저장하고 사용할 건지에 관련된 내용들이다.
    • 따라서, MVC 보다는 MVCS로 서비스단을 만들어서 비즈니스 로직을 분기해주는 것이좋다.
      • 컨트롤러가 책임이 무거워졌다?? -> 가질 필요가 없는 책임을 가지고 있는 것
      • 확장성을 고려했을 때, 같은 서비스 로직이 컨트롤러마다 구현되어있으면 다 수정해야함

     

    2021.01.14 추가

    MVCS

     

    • Model에서 비즈니스 로직을 service 레이어로 분기한 패턴이다.
    • Model은 DTO나 DB 연결, 엔티티 등을 관리하게 된다.
    • Controller는 요청에 맞는 비즈니스 로직을 호출하고, 요청받은 데이터가 유효한지 Validation 하는 역할
    • View는 Controller로 부터 받은 데이터를 가지고 클라이언트 화면에 출력할 페이지를 구성한다.
    • Service는 데이터와 관련된 모든 작업을 진행한다. (비즈니스 로직 수행)

     

    반응형

    '기술 이야기 > Design' 카테고리의 다른 글

    Restful API  (0) 2020.10.20

    댓글

Designed by Tistory.