더북(TheBook)

1.1.1 모델-뷰-컨트롤러 패턴

유용성 증거로 클라이언트 단의 모델-뷰-컨트롤러(MVC) 패턴은 현대 웹 애플리케이션 개발 프레임워크의 청사진을 제공합니다(이미 MVC를 알고 있다면 건너뛰어도 됩니다).

설명하기에 앞서 기존 MVC 디자인 패턴은 시대에 따라 많이 바뀌었다고 이야기하고 싶습니다. 클래식 MVC라고도 하는 이 패턴은 뷰, 컨트롤러, 모델이 서로 소통하는 방법에 개별적인 규칙이 있었습니다. 이해하기 쉽게 클라이언트 단 MVC 패턴의 간소화된 버전을 논의하겠습니다. 이 패턴은 웹에서는 좀 더 현대적인 모습입니다.

그림 1-1에서 볼 수 있듯이, 이 패턴은 애플리케이션 문제들을 격리합니다. 뷰는 사용자에게 정보를 보여 주는 역할을 합니다. 그래픽 사용자 인터페이스(GUI)를 대표하기도 합니다. 컨트롤러는 그 중간에 있습니다. 뷰에서 받은 이벤트를 모델로 변환하거나 모델에서 받은 데이터를 뷰로 변환하는 작업을 도와줍니다. 마지막으로 모델은 비즈니스 로직을 포함하고 일종의 데이터 저장소를 가질 수 있습니다.

▲ 그림 1-1 MVC 패턴에서 정의하는 모델, 뷰, 컨트롤러 역할

 

Note

MVC 패턴을 자세히 알고 싶다면 https://martinfowler.com/eaaDev/uiArchs.html에서 마틴 파울러(Martin Fowler)가 MVC 진화를 설명한 내용을 찾아 읽어 보세요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.