[감리사, 토픽] MVC architecture에서 model 찾기

 MVC 아키텍처 패턴에 대해 클래스 다이어그램, 시퀀스 다이어그램, 콤포넌트 다이어그램을 제시하고 Model, View, Controller를 찾으라는 문제가 출제된곤 합니다.

 문제를 빨리 해결하는 Key는 Model을 먼저 찾는 것입니다. 어떻게 찾아야 할 지 알아보겠습니다.


1. MVC 아키텍처 패턴 정의

(1) Model

  • 핵심 데이터와 기능을 캡슐화하고 관련 콤포넌트에 "데이터 변경을 알려"줍니다.
  • 데이터 변경을 알려주고 있는 콤포넌트를 먼저 찾으면 Model을 그나마 쉽게 선택할 수 있습니다.

(2) View

  • 사용자의 정보를 화면에 표시, 모델로 부터 데이터를 조회합니다.

(3) Controller

  • 사용자의 입력 정보를 받아 관련된 View나 Model을 호출합니다.
  • View, Model을 둘 다 호출하는 것이 Controller 입니다.


2. 각종 다이어그램으로 알아보기


(1) 콤포넌트 다이어그램( 감리사 2015년 A형 47번 기출)

  • 위 정의에서 알아봤듯이 "변경을 통지(notify)"하는 것은 모델입니다.
  •  Model, View를 모두 호출하는 것은 Controller입니다.

[객체지향 소프트웨어공학, 최은만, 2017 참조]


(2) 클래스 다이어그램

  • notify하는 함수가 아래 클래스 다이어그램에서는 getData 메소드를 호출하여 처리되고 있습니다.
  • getData를 포함하고 있는 클래스가 Model이 되겠습니다.
  • Controller는 "handleEvent", View는 "display"가 힌트가 되겠습니다.

[Pattern-Oriented Software Architecture, Volume 1 - A System Of Patterns]



(3) 시퀀스 다이어그램

  • "getData"를 포함하고 있는 object(객체)가 Model입니다.
  • "handleEvent"를 포함하고 사용자로 부터 이벤트를 받아들이는 것이 Controller입니다.
[Pattern-Oriented Software Architecture, Volume 1 - A System Of Patterns]



이정도로 준비하면 어떤 형식으로 출제되도 Model을 찾을 수 있을 것 같습니다. ^^

댓글

이 블로그의 인기 게시물

영리목적의 마케팅 정보를 전송하기 위한 개인정보 처리 조치