'MVC와 MVP'의 비교

2021.09.14

|

1049

'MVC와 MVP'의 비교

*잠깐, 이 글을 소개해드리는 위시켓은 2019년 시밀러웹 방문자 수 기준, 국내 1위 IT아웃소싱 플랫폼입니다.

현재 9만 이상의 개발업체, 개발 프리랜서들이 활동하고 있으며, 무료로 프로젝트 등록이 가능합니다. 프로젝트 등록 한 번으로 여러 개발업체의 견적, 포트폴리오 예상기간을 한 번에 비교해보세요😆

이번 프로젝트 중 어느 프로젝트가 가장 유익할까?

여러분이 이 기사를 읽고 있다면, 세 가지 이유 중 하나일 것입니다. 첫째, 주로 프런트 엔드에서 일하는 새로운 개발자로 건축 및 디자인 패턴에 대해 더 많은 연구를 하고자 할 것입니다. 둘째, ‘가장 가치있는 플레이어’가 무엇인지 잊어버렸을 것입니다. 아니면 셋째, 여러분은 오랜 저지 쇼어의 팬이고 마이크, 비니, 폴리를 그리워하고 있을 것입니다. 추측하건대 여러분은 첫 번재 이유로 이 기사를 읽고 있을 것이라고 생각합니다.

더 깊이 비교해보기전, 아키텍처럴 디자인 패턴이 무엇인지, 왜 유용한지, 그리고 가장 흔한 MVC와 MVP 두 가지에 대해 잠시 살펴보겠습니다.

아키텍처럴 패턴은 개발자가 코드의 내부와 외부를 설계할 수 있도록 돕는 것입니다. 즉, 레이어 안의 코드를 어떻게 구조화할지 뿐만 아니라 레이어와 레이어 간의 요구를 어떻게 처리할지도 말하는 것입니다.

‘MVC와 MVP’가 중요한 이유는 구성요소를 분리하고 UI 기능을 둘러싼 레이어와 백엔드를 처리하는 레이어, 그리고 데이터베이스 레이어를 구분합니다. 잠시 후 이들의 작동 방식에 대해 더 자세히 알아보겠습니다.

‘MVC와 MVP’는 디자인 패턴과 아키텍처럴 패턴에서 다릅니다. 디자인 패턴은 범위가 작고 로컬화되어 코드 베이스에 임팩트가 적습니다. ‘MVC와 MVP’는 범위가 더 넓고 프로그램의 아케텍처를 전체로 볼때 특정 섹션의 코드베이스에만 임팩트가 있습니다.

Top view of businesswoman analyzing financial graphs statistics drinking coffee while working in startup company office. Manager woman developing management strategy brainstorming ideas

MVC 패턴

MVC와 MVP 중 MVC는 모델, 뷰 그리고 컨트롤러 세 가지 메인 파트로 알려져 있습니다. 이 세 가지 파트엔 각각 다른 문제들이 있으며, 비즈니스, 프레젠테이션과 컨트롤 플로우를 구분해내기 위해 함께 작동합니다. 모델은 상태 관리를 맡고, 컨트롤러는 뷰가 명령하는 모든 작업에 반응하며, 뷰는 페이지에 UI 요소들을 렌더링합니다.

Cropped image of It specialist working on code

MVP 패턴

MVC와 MVP 중 MVP는 UI 표면으로만 작동한다는 점에서 MVC와는 패턴이 다릅니다. 즉 전체 시스템이 아니라 뷰만 구성한다는 의미입니다. MVP의 책무는 4가지 구성요소로 분산되어있습니다. 뷰는 UI 요소의 렌더링을 담당하며 뷰 인터페이스는 뷰에서 프리젠터를 연결합니다. 프리젠터는 뷰 그리고 모델과 인터렉트하고 모델은 비즈니스 행태와 상태의 관리를 표현해내기 위해 협력합니다.

이제 기본을 이해했으니 둘의 몇 가지 주요 차이점에 대해 이야기해 보겠습니다. 그렇지만, 둘 다 구성요소 간의 책임이 잘 분담 되어있기 때문에 큰 차이는 없다는 것을 알아두는 것이 좋습니다.

· MVC와 MVP 중 MVP는 뷰와 모델의 연결이 덜한다.

· MVC는 효율성 테스팅 공간이 작지만, MVP에서는 쉽게 가능하다.

· 컨트롤러 MVC, 뷰는 MVP를 책임진다.

· MVC와 MVP 패턴 간의 관련성에 대해 말해보면, MVC의 컨트롤러와 뷰 사이에는 다 대 일 관계가 존재하고, MVP에는 일대일 관계가 존재한다.

· 컨트롤러는 MVC에서 사용자 인풋을 관리하며 모델에게 수행할 작업을 알려주지만 MVP에서는 뷰가 사용자 인풋을 관리하고 프리젠터와 통신하여 역할을 수행한다.

결론적으로, 어느 것이 당신과 더 잘 맞는지는 당신에게 달렸습니다. MVP는 모듈에서 애플리케이션을 생성하여 재사용이 가능하고 뷰를 적게 만들어 낼 수 있습니다. 둘 다 사용해보고 어떤 것을 더 선호하는지 알아보세요!

국내 1위 IT아웃소싱 플랫폼,

위시켓이 궁금하신가요?

앱 개발 비용 궁금하세요?
위시켓이 바로 알려드릴게요!

MVC와 MVPMVC와 MVP가 중요한 이유MVC와 MVP의 디자인 패턴MVC와 MVP의 비교MVC와 MVP의 차이점
다음 글

위시켓 블로그의 새로운 소식 받기