본문 바로가기
Back-end

MVC 패턴

by pinok1o 2021. 5. 27.

MVC 패턴

디자인 패턴 - SW 개발방법을 공식화 한것

  • Model & View & Controller

모델 1

  • JSP + javaBean(Service)
  • 뷰와 로직이 섞인다. 분업이 용이하지 않다, 프론트와 백엔드가 혼재

모델 2

  • jSP + javaBean(Service) + 서블릿
  • 습득이 어렵고, 작업량이 많다. 덜 복잡하고 분업이 용이하며 유지보수가 쉽다

USER -> 어플리케이션 -> 컨트롤러 -> 뷰

​                                               -> 모델 -> 데이터베이스

Model

  • 값과 기능을 가지고 있는 객체

View

  • 모델에 포함된 데이터의 시각화

Controller

  • 전체적인 흐름을 제어
  • 모델 객체로의 데이터 흐름을 제어

장점

  • 각 컴포넌트 코드 결합도를 낮춤
  • 코드의 재사용성을 높이고
  • 구현자들 간의 커뮤니케이션을 높인다

레이어 관점에선..

  • 각 레이어간 추상화, 부품을 갈아끼우듯 변경
  • 각 컴포넌트간의 의존관계를 깔끔하게 유지 가능

 

모델에서 뷰의 역활을 수행하면 안된다

뷰에서 값 검증과 예외 처리

뷰에서 모델을 컨트롤 하려고 하면 안된다

컨트롤러 내부에서는 로직은 최대한 배제하고 컨트롤러의 역활로 가능한 가볍게 구현해야 한다 - 연결 역활

 

Service - 비즈니스 로직을 수행하는 메서드를 가지고 있는 객체

  • 비즈니스 메서드를 별도의 Service객체에서 구현하도록 하고 컨트롤러는 Service객체를 사용하도록 한다
  • 하나의 트랜잭션을 가진다 - ACID

Repository (DAO) - 데이터 액세스 메서드를 별도의 Reposoitory 객체에서 구현

  • Service는 Repository 객체를 사용

 

reference

'Back-end' 카테고리의 다른 글

RESTful  (0) 2021.05.31
DTO, VO vs DAO  (0) 2021.05.25

댓글