티스토리 뷰

IT

MVC, MVP, MVVM

out of coding 2017. 10. 12. 17:47

시작


일단 프로그램을 할때는 규칙적은 형식이 있어야지 개발을 빠르게 할수 있다고 한다...
프로그램을 감으로 개발하는 나로써는 전혀 그런거 같지는 않지만.
그렇지만 유지보수의 입장에서는 규칙적으로 개발된 소스는 적은 비용으로 수정이 가능하고 비용도 적게 들수 있는것 같다.
이런 개발적인 부분들을 패턴이라는 규칙안에 넣어두는것도 너무 웃긴 이야기인것 같지만... 사람들과 대화를 하려면 무언가가 필요한것이니.
사실 이런 저런 디자인 패턴들이 말을 붙여서 놓아서 그렇지 어느 코드에서는 어떤 소스가 더 훌륭하게 동작하는것이 있을것이다.
오늘은 요즘에 많이 이야기가 되어 있는 패턴들을 그냥 아주 간략하게만 적고 하나씩 빼서 추후 정리를 다시 해보도록 하겠다.


MVC


맨날 듣는 녀석이다... 정말 오래동안 들었다. 정이 오래 들어서 그런지 나쁜거 같지 않은데 다들 이거 말고 다른거 써야 한단다. ㅎㅎ

Model - View - Controller의 구조
Controller에서 입력을 받아서 Model을 변경하고 이 처리 내용을 View에 반영하도록 처리하는 방법.
View와 Controller가 강하게 연결되어 있는 문제점이 발생

MVP


이름만 들으면 천하무적일거 같다. MVP니깐...

Model - View - Presenter의 구조
View에서 입력을 받아서 Presenter에 입력을 전달하고, 이것을 모델에 전달하여 로직을 처리하는 방법.
처리된 내용을 Presenter가 다시 View에 전달하여서 화면을 변경하여 준다.


MVVM


무언가 되게 좌우대칭이 맞아서 규형이 있는것 같기는 하다.

Model - View - ViewModel의 구조
View에서 입력을 받아서 ViewModel에 전달을 하고, ViewModel에 가지고 있는 View와 DataModel의 값을 자신이 처리하여서 변경하여 주는 방법.
이렇게 되면서 View(ViewController)는 껍데기처럼 보여지는 문제점이 발생하고, 코드를 분리하는게 아니라 이전에 MVC에서 가지고 있던 코드를 모두 ViewModel에 넣어 버리는 경향이 생겨버림.


사진 출처. 인터넷.

'IT' 카테고리의 다른 글

Android Phone. 외장 SD카드를 내부 저장소 용량에 추가하기  (0) 2018.06.30
칼만 필터  (0) 2018.01.08
전처리, 컴파일, 링킹, 빌드, 증분빌드, dll, lib  (0) 2017.09.01
아스키 코드표  (0) 2015.11.13
IMEI  (0) 2015.03.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함