【Java】MVC 모델 기본

1556 단어 mvc

MVC 모델이란?


  • 소프트웨어 개발로 화면을 만들 때 (웹 UI/iOS/Android 등) 때 중요한 사고 방식
  • 객체 지향적 프로그래밍이 처음부터 시작되었습니다

  • 좋은 소프트웨어 코드 아이디어

  • 고 응집성 (High Cohesion) : 책임 범위가 명확하다

  • 느슨한 결합 (Low Coupling) : 서로 독립적이지 않음


  • 화면을 만들 때 적용하여 생각 이하의 상태를 목표로 한다

  • 화면을 만드는 기능별로 역할을 나누십시오 (= 결합 정도를 낮추십시오)

  • 분리 될 때 각 모듈 (클래스, 파일)은 하나의 목적으로 분할됩니다.


  • 화면 표시 기능 분할


  • 3개의 역할로 나누어 생각해, 역할이 입지 않도록 깨끗하게 한다

  • 모델
  • View

  • 컨트롤러



  • 모델


  • 로직을 담당하는, 즉 데이터 소스
  • Java class가 역할을한다
  • ex : DB로부터 데이터의 취득이나 계산 등
  • 데이터를 공급하는 기능만 가지고 있어 다른 목적을 가지고 있지 않는 것이 중요=응집성 높음

  • 보기


  • 수신 된 데이터를 화면에 표시 할 책임이 있습니다.
  • DB에 액세스하지 않습니다. 어디까지나받은 데이터를 어떻게 표시할지 만
  • Html이 역할을 한다

  • 컨트롤러



  • 사용자로부터 요청을 받아 Model 클래스에 처리를 요청하는 기능 (Rest Controller 등)
  • 응답 결과에 따라 어떤 View를 사용자에게 표시할지 결정한다
  • Java class가 역할을한다
  • ex:/helloworls의 엔드포인트 두드린→화면”hello world!”의 화면을 돌려준다(그림①④)
  • 컨트롤러에서 DB에 액세스하지 않고 모델에 요청합니다.

    응집성과 결합도의 밸런스를 고려한 설계가 중요!


  • 더 이상 Controller와 기능을 무리하게 나누면 결합도가 낮아지지만, 기능으로서는 하나가 되지 않기 때문에 응집도가 낮아진다
  • MVC, 디자인 패턴 등의 템플릿 메소드의 역할로 object를 나누어 준다
  • 존재의 패턴을 기억하는 것이 중요합니다
  • 좋은 웹페이지 즐겨찾기