MVC 구조

June Park·2021년 10월 14일
0

BackEnd

목록 보기
4/9
post-thumbnail

MVC Pattern

MVC Pattern ( Model-View-Controller)

  • Model : 데이터 처리
  • View : jsp
  • Controller : 요청 과 응답 referencing
  • 구성
    1. Service: 일처리
    2. Dao : Database 로직 처리
    3. Dto : 바구니
    4. JSP : 화면단

Models

Model 1 구조

model 1은 view 와 logic을 JSP 페이지 하나에서 처리하는 구조

  1. 장점 : 개발 시간 단축, 비용 감소
  2. 단점
    • 유지보수에 불리 : 만약 SQLException이 발생했을 경우 혹은 계산이 잘못된 경우 여러가지 데이터와 로직 중 잘못된 로직을 찾기 힘듦
    • 확장성 x (신기술, framework등 )
    • Backend와 Frontend의 혼재로 인해 분업이 힘듦
    • java코드와 섞이기 때문에 jsp 코드가 복잡해짐

Model 2 구조 (MVC 구조)

JSP와

✨Servlet -> Service -> Dao

Controller

Servlet: getParameters로 데이터를 받고 서비스 호출.
직접 일을 안하고 다리를 놓아준다

Model

Service : paging, Buisness Logic 처리. DB가 필요하면 Dao를 호출하고 일처리가 끝나면 서블릿에게 리턴
Dao : Database Logic 처리. 서비스에서 데이터를 얻어오면 결과를 리턴
직접 일하는 애들

View

JSP : View 처리
화면단

REST API :

  • MyBatis를 사용하면, Dao를 대체
  • Controller의 request.getParameters("이름")과 setAttribute등을 Spring을 통해 쉽게 처리
    ** 하지만 프로젝트의 규모가 작은 경우는 스프링을 사용하지 않는게 더 편해진다.
  • Vue프레임워크로 Jsp를 대체 (cvs, xml, json을 리턴)
    위와 같은 구조의 대표적인 사이트 : data.go.kr
    요즘 인스타그램같은건 Single Page에서 부분부분만 다르게 나온다고 함
  1. 장점
    • JSP 코드 단순화
    • 화면과 Logic단의 분리 -> 분업 용이
    • 기능에 따른 코드 분리 -> 유지 보수 :)
    • 확장성이 뛰어남
  2. 단점
    • 구조가 복잡하여 초기 진입이 어려움
    • 개발 시간의 증가 -> 개발 비용 증가

0개의 댓글