MVC 패턴

kldaji·2021년 9월 8일
0

서론

이번 포스팅에서는 프로젝트를 진행하는데 있어 코드의 가독성, 유지 보수성과 요구사항이 추가됨에 따라 증가되는 비용을 최소화 할 수 있는 여러가지 패턴 중 MVC 패턴에 대해 알아보고자 한다.

본론

패턴을 새롭게 접할 때 가장 중요한 것은 역할 분담이다. MVC 패턴의 경우 Model, View, Controller 로 나뉠 수 있다. Model 은 오직 데이터만 관리하는 역할을 하고 View 는 오직 UI 만 띄어주는 역할을 하고 Controller 는 Event, Action 과 같은 Input 을 처리하는 역할을 한다.
어느 패턴이든 이 역할을 완벽히 수행하도록 구현하는 것은 상당히 어렵다고 생각한다. 그렇기 때문에 최대한 각 역할에 대해 흐름을 정의해서 구현하면 어느정도 해당 패턴에 맞추어 구현하는데 도움이 된다. 필자가 정의한 MVC 패턴의 흐름은 아래와 같다.

  1. Controller 는 Event / Action 에 기반해 Model 의 상태를 변경한다.
  2. Model 은 변경된 상태를 Controller 에게 알린다. (반환한다.)
  3. 변경된 Model 의 상태를 View 에게 전달한다.

필자가 MVC 패턴을 기반으로 프로젝트를 진행하면서 위의 흐름을 최대한 지키려고 노력해도 변수는 항상 생기기 마련이였다. (예를 들면, Controller 에서 처리한 Event / Action 은 Model 의 상태를 변경하지 않고 즉시 View 에게 UI 를 띄우라는 명령이 있을 수 있다.)

결론

어떤 패턴이든 정답은 없다고 생각한다. 중요한 것은 각 역할에 대해 얼마나 충실히 수행을 하느냐에 따라 해당 패턴의 구조가 잘 짜였는지 평가될 수 있다.
오늘도 역시 성장했다.

profile
다양한 관점에서 다양한 방법으로 문제 해결을 지향하는 안드로이드 개발자 입니다.

0개의 댓글