Model View Controller
고전적인 형태
View
는 Model
을 알고있다 → 이는 문제가 된다
View
와 Model
의 변화 요소가 다르다 하지만 의존성이 있다 → 이는 곧 문제가 된다
- 보통은 그래서 서버에서만 쓴다
- 서버는
Model
가져와서 Controller
에서 View
로 던지면 끝 → 단방형이라서 의존성이 상관없음
- 클라이언트에서는 의존성 문제 때문에 쓸 수 없다 → 백본 망함
제왕적 형태
View
가 Model
을 직접 알고 있지 않지만 이 형태에서는 Controller
에 대한 의존성이 너무 커져서 유지보수가 너무 어렵다
- 이런 형태의 경우 보통 코어 한 두명있고 나머지 코드몽키들이
Controller
만 수정하고 있다
MVC는 결국 망한다
Model View Presenter
View
에는 로직이 없고 Presenter
가 그냥 getter
setter
로 만 컨트롤
- 제왕적 설계와 비슷하지만
View
는 단순히 getter
setter
만 해서 Model
에 대한 지식이 하나도 없다
View
에 모든 기능에 getter
setter
를 만들어 해야해서 노가다를 많이 해야한다
- 그래도 의존성을 끊어 버려서 많이 쓰인다 →
MVC
를 탈피하는 대중적인 방법
Model View ViewModel