MVP와 클린 아키텍처의 차이점


13

이 질문은 내 생각을 추가하기위한 자명 한 내용입니다.
제가 읽은 한 Clean arch의 프리젠 테이션 레이어는 MVP의 MV에서와 같은 책임을집니다.

어떻게 다른 패턴 대신에 하나의 패턴을 선택하기로 결정 했습니까?


MVP는 깨끗한 아키텍처의 일부이며,이 문서를 읽을 수 있어야 androidwave.com/android-mvp-architecture-for-beginners-demo-app
수리야 프라 카시 Kushawah

답변:


15

Bob Martin이 " 클린 아키텍처 " 라고 부르는 것은 계층화 된 아키텍처를 생성하기위한 고급 지침 인 "메타 아키텍처"입니다. 그것은 같은 말을하지 않습니다

"모델 레이어,보기 레이어 및 프리젠 테이션 레이어가 있어야하며 MVP를 사용하여 구현해야합니다. "

여기에는 "종속성이 바깥 쪽 원에서 안쪽 원으로 이동해야하며 그 반대의 경우에는" 와 같이 레이어에 대한 일반적인 규칙 만 포함되어 있습니다 . MVP에서는보기 (= UI)가 발표자를 알 수 있지만 발표자는 인터페이스를 통해보기에서 분리되므로 MVP는이 규칙을 충족하는 여러 가지 가능한 솔루션 중 하나 일뿐입니다.

물론 "청결한 아키텍처"시스템 내에서 MVP를 사용할 수 있지만 이것이 유일한 접근 방법은 아닙니다. "내부 레이어"가 UI에 대해 특별한 것을 알지 못하고 UI가 Bob Martin의 기사에 설명 된 다른 "청결한 아키텍처"규칙을 따르는 곳의 UI 디자인은 좋습니다.


MVP 패턴을 따르는 경우 Clean 아키텍처 규칙을 위반하지 않았 음을 보증합니까?
Mehrdad Shokri

1
@Mehrdad : 아니오. MVP는 "종속성 규칙"권한을 부여하는 데 도움이되며,보기 및 발표자 계층과 발표자 및 모델 계층 사이에서만, 더 이상은 아닙니다. Bob Martin의 기사에 설명 된 다른 모든 사항을 계속 관리해야합니다. 예를 들어 MVP만으로도 경계간에 교차해야하는 해당 기사에서 언급 한 간단한 데이터 구조와 달리, 레이어간에 복잡한 데이터 구조를 전달하는 것을 막을 수 없습니다.
Doc Brown
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.