[SW] MVC 패턴

SCY·2023년 3월 23일
0

MVC는 Model, View, Controller의 약자로, 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 이를 잘 사용하면 UI로부터 비즈니스 로직을 분리하여 서로 독립적으로 존재해 유지보수 및 수정이 용이해진다.

각 컴포넌트를 하나씩 살펴보도록 하자.

Model

애플리케이션의 모든 정보와 데이터를 가진 객체이다.

  1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.
  2. 뷰나 컨트롤러에 대해 어떤 정보도 알지 말아야 한다.
  3. 변경이 일어나면 변경에 대한 처리 방법을 구현해야 한다.
    모델의 속성이 변경되면 이벤트를 발생시켜 누군가에게 전달해야 하고, 누군가 모델을 변경하도록 요청하면 해당 이벤트를 수신하는 방법을 구현해야 한다.

View

텍스트, 체크박스 등 화면에 보여지는 사용자 인터페이스(UI) 요소를 나타낸다. 유저가 보게 되는 시각적 요소를 지칭한다.

  1. 모델이 가지고 있는 정보를 따로 저장해선 안된다.
  2. 모델이나 컨트롤러와 같이 다른 구성요소들을 몰라야 한다.
    모델은 그냥 데이터를 받으면 화면에 표시하고. 끝.
  3. 변경이 일어나면 변경에 대한 처리 방법을 구현해야 한다.
    사용자가 화면에 표시된 내용을 변경하게 되면 컨트롤러가 이를 모델에게 전달해서 모델을 변경해야 할 것이다.

Controller

모델과 뷰를 잇는 다리 역할을 한다. 비즈니스 로직을 구현한 부분이다. 즉 사용자의 동작에 따른 이벤트를 처리한다.

  1. 모델이나 뷰에 대해 알고 있어야 한다.
  2. 모델이나 뷰의 변경을 모니터링 해야 한다.

이와 같이 하나의 프로젝트를 세 부분으로 나누어 구현함으로써 각자의 역할에만 집중할 수 있어 유지보수 및 버전업이 용이해질 것이다.

profile
성장 중독 | 서버, 데이터, 정보 보안을 공부합니다.

0개의 댓글