MVC/MVVM/MVP 디자인 패턴에 대해 알아보고, 프로그래밍 설계에서 디자인 패턴이 왜 필요할까에 대해 토론하고, 주된 논의 내용과 결론을 요약해주세요.
디자인 패턴이 필요한 이유
- 협업, 유지 보수, 테스트의 용이성을 위해
- 코드를 이해하기 쉽고 관리하기 쉽도록 잘 정리해 놓기 위해서
- 코드의 재활용성을 높이고 불필요한 중복을 막기 위해서
디자인 패턴에 모델과 뷰만 존재한다면 어떤 문제가 있을까?
- 뷰와 모델의 연관성이 너무 높아져서, 코드를 재사용하기 어렵다.
- 뷰와 모델의 코드가 많아진다.
MVC/MVVM/MVP 디자인 패턴

MVC(Model - View - Controller)

MVC에서 View는 상태에 따라 출력형식만 달라질 뿐 모든 이벤트에 대한 제어나 가공은 Controller에 의해 처리된다. Controller는 처리해야 할 이벤트에 대하여 Model을 조작하고 그 변경사항을 표현할 View를 선택한다. 이 때, Controller는 View를 선택만 할 뿐이지 직접적인 업데이트는 하지 않는다.