[스터디] MVP 패턴에 대한 설명과 사용법
저번 시간에는 MVC 패턴에 대해 배웠으니 이번 시간에는 MVP 패턴에 대해서 알아보도록 하자.
지난 시간 MVC 패턴에 대해서 간단하게 복습을 해보도록 하자.
MVC 패턴은 Model - View - Controller 패턴으로 View로 부터 데이터를 Controller에 전달받아서 Controller는 그 데이터를 가공 처리하여 원본인 Model에 보낸다고 하였다. 그리고 중요한 것은 데이터가 출력할 때는 들어온 순서의 역방향이 아니라 Model -> View로 데이터를 내보낸다고 하였다. 이 때 또 중요한 것이 View가 Model을 참조하여 Model의 데이터가 변화할 때마다 View는 콜백을 받아 데이터를 내보낸다고 하였다. - 복습 끝 -
1. MVP 패턴이란
저번시간에 MVC를 배울 때 잠깐 한 얘기가 있다. 코드를 짤 때 데이터를 한방향에서 나오고 한방향으로 출력되는 흐름이 중요하다고 했다. 이는 버그도 줄이고 협업 시에도 중요하다고 하였다. 이번에 알아볼 이 MVP 패턴이 바로 이를 실현시켜주는 디자인 패턴이라고 할 수 있겠다.
MVP 패턴이란 Model View Presenter 패턴이라는 뜻으로 Presenter라는 놈의 역할이 중간다리 역할을 하여 Model과 View를 연결시켜준다. 즉, Model과 View는 서로 참조 관계가 없다. 이것이 MVC와의 차이점이다.
위에 그림과 같이 MVP는 데이터가 한방향에서 흘러가서 한방향으로 나온다. 이것이 설명의 끝이다. 이런식으로 코드를 구현하면 되는 것이다. 중요한 것이 View와 Model은 서로 관련이 없다. 둘의 관계를 Presenter가 연결다리를 해준다.
MVP 패턴이 좋아보이긴 하지만 단점이 있다. 일단 이렇게 구성하면 당연히 게임이 더 느리게 굴러갈 것이다. 또한, MVC 패턴보다 구현하기가 복잡하 오남용될 가능성이 있다. 시간을 단축시키기 위해 디자인 패턴을 사용했지만 시간이 더 걸릴 수 있다는 것이다. 따라서 MVC 패턴을 쓰던 MVP 패턴을 쓰던 본인이 개발하고 있는 게임의 스타일에 맞게 선택해서 사용해야 한다.
unity MVP패턴은 왜 쓰는가?
소프트웨어의 비지니스 로직과 화면을 분리하여 작업한다면 유지보수와 개발의 효율성을 높힐 수 있기 때문이다.어렴풋하게 생각해도, 개발 중간중간마다 화면에 영향이 간다면, 사용자 입장
velog.io
[Android] MVC, MVP, MVVM 장단점을 알고 쓰자!
안드로이드 개발 초기에는 아키텍처 설계에 대한 관심이 크지는 않았지만, 애플리케이션의 규모가 커지면서 유지보수성을 높일 수 있는 방향으로 나아가게 되었습니다. MVC , MVP, MVVM, MVI 등 다
velog.io