우리동네동네북 MVC 입니다.
https://github.com/objcio/app-architecture/tree/master/Recordings-MVC
기본적으로 Composite pattern, Strategy pattern, Observer pattern 3가지 패턴이 녹여져 있으며, 이 중 Observer pattern이 흔히 무시된다고 합니다. 처음 MVC를 배운 건 학생 시절 웹프로그래밍을 배울 때였는데, 웹프로그래밍에서 View는 html/css, Model은 db에 대응되지만, 앱에서의 Model은 보통 REST API를 통해 받은 데이터의 임시 저장소인 경우가 많습니다. 어딘가에 저장하고 가져온다기 보다는 메모리에 그냥 저장해놓고 쓰기 때문에 값 변경은 즉시 이루어지고, 다음에 필요한 동작을 이어서 수행하면 충분한데, 굳이 Observer pattern을 적용하는 건 너무 고리타분하단 이야기죠. 하지만 테스트 작성할 생각을 하면 다 이유가 있는 고리타분함이라고 해야겠네요. 뒤에 나올 'Networking' 챕터에서 REST API 호출 부분까지도 Model이 담당해야한다는 아이디어가 소개될 거라고 하는데, 아마도 Observer pattern까지 적용해야하는 것 치곤 Model의 역할이 너무 작다는 이유가 아닐까 싶습니다.
MVC패턴은 이해하기가 쉽고, 유연한 것이 장점이라고 합니다. 좋게 말하면 유연한 거고, 나쁘게 말하면 디테일한 규격이 없다는 뜻이겠지요.
MVC 패턴의 단점으로 2가지를 언급하고 그를 개선하기 위한 방법들을 나열합니다.
App Architecture. Model-View-Controller+ViewState (0) | 2019.05.06 |
---|---|
App Architecture. Networking (0) | 2019.05.02 |
App Architecture. Model-View-ViewModel+Coordinator (0) | 2019.01.27 |
App Architecture. Overview of Application Design Patterns (0) | 2018.08.17 |
댓글 영역