
193
Chapter 08_
자바스크립트 MV* 패턴
MVC
에서
MVP
로의 변화는 애플리케이션의 테스트 용이성을 높이고 뷰와 모델 간의 분리를
더욱 명확하게 해준다는 장점이 있습니다. 그러나
MVP
패턴에는 데이터 바인딩이 지원되지
않기 때문에, 작업을 별도로 처리해야 하는 비용이 발생할 수 있습니다.
수동형 뷰를 구현하는 일반적인 방법은 뷰가 인터페이스를 구현하는 것이지만, 이벤트 사용
등 뷰와 프리젠터를 분리할 수 있는 다른 방법들도 있습니다. 자바스크립트에는 인터페이스
라는 구조가 없기 때문에 명시적인 인터페이스보다는 프로토콜 형태를 사용하게 됩니다. 그
래도 엄밀히 말하면
API
에 속하기에, 이러한 관점에서 본다면 인터페이스라고 부르는 것도
적절해 보입니다.
MVP
의 변형인 감독 컨트롤러
Supervising
Controller
패턴
11
도 있습니다. 감독 컨트롤러 패턴은 모
델의 데이터를 바로 뷰에 바인딩할 수 있도록 해준다는 점에서
MVC
와
MVVM
12
패턴에 더
가깝습니다.
8.6.2
MVP
vs
MVC
지금까지
MVP
와
MVC
에 대해 알아보았습니다. 그런데 내 애플리케이션에 적합한 패턴은
둘 중 무엇일까요?
MVP
는 일반적으로 프레젠테이션 로직을 최대한 재사용해야 하는 엔터프라이즈 수준의 애
플리케이션에서 사용됩니다. 뷰가 매우 복잡하고 사용자와의 ...