MVC패턴
MVC 패턴은 Model-View-Controller의 약자로, 소프트웨어 개발에서 널리 사용되는 아키텍처 패턴입니다.이 패턴은 애플리케이션을 세 가지 주요 역할로 분리하여 유지보수와 확장성을 높입니다. Swift와 UIKit을 사용하는 ios 개발에서 MVC 패턴은 흔히 사용되며, 각 요소는 다음과 같이 정의됩니다.
1. MOdel
역할: 애플리케이션의 데이터와 비즈니스 로직을 관리 합니다. 데이터를 저장하고 조작하며, 데이터베이스 와 통신하거나 네트워크 요청을 처리하는 등의 기능을 포함할 수 있습니다.
예: 사용자의 정보, 게임 점수, 제품 목록 등의 데이터를 관리하는 클래스 또는 구조체.
2.View
역할: 사용자에게 보여지는 UI를 담당합니다. 데이터를 표시하고, 사용자로부터 입력을 받아 이를 컨트롤러에 전달합니다. 뷰는 모델에 직접 접근하지 않으며, 오직 데이터만 표시합니다.
예: 버튼, 레이블 , 테이블 뷰 등과 같은 UI요소
3.Controller
역할: 모델과 뷰 사이에서 중개 역할을 합니다. 사용자의 입력을 받아 모델을 업데이트하거나,모델의 데이터를 가져와 뷰에 전달합니다.
컨트롤러는 뷰의 변경 사항을 관찰하고, 모델의 상태 변화에 따라 뷰를 갱신 합니다.
MVC 패턴의 작동 흐름
1. 사용자가 View에 상호작용(버튼 클릭 등)을 합니다.
2. View는 이 상호작용을 Controller에 전달합니다.
3. Controller는 이 요청을 처리하기 위해 필요한 데이터를 Model에서 가져오거나, Model을 업데이트 합니다.
4. Model은 데이터의 변경 사항을 Controller에 알려줍니다.
5. Controller는 업데이트된 데이터를 다시 View에 전달하여 화면에 반영합니다.