2022. 9. 18. 22:27ㆍARCHITECTURE/Design Pattern
👉 MVC 패턴이란
Model + View + Controller 구조의 아키텍처 패턴
Model : 앱의 데이터와 비즈니스 로직을 가지고 있음
View : 사용자에게 데이터를 보여주는 UI를 담당함
Controller : Model 과 View의 중간다리로 View로 부터 사용자의 액션을 받아 Model에게 어떤 작업을 해야하는 지 알려주거나, Model의 데이터 변화를 View에게 전달하여 View를 어떻게 업데이트할 지 알려줌
👉 서로 상호작용
Model & Controller
- Controller는 Model 에 접근 가능
- Model은 Controller 에 Notification & KVO 방식을 통해 모델의 변화를 알림
Model & View
- Model 과 View는 서로 소통 불가능
View & Controller
- Controller는 View에 접근 가능 (outlet을 이용)
- View는 Controller에게 행위에 대한 요청과 데이터에 대한 요청 가능
👉 사용 예시
Model
- 데이터로 사용하는 구조체
- 네트워크를 요청하고 결과를 받아오는 코드
- 메모리에 저장되는 데이터를 로드 및 저장하는 코드
- 데이터를 파싱하는 코드
- Color 나 String 등의 정보를 extenstion, constant로 정의한 정보
View
- UIView를 사용해 만들어진 서브클래스
Controller
- View에 보여주기 위한 데이터를 Model로부터 가져오고 Controller가 보내주면서 View를 새로고침
- View에서 사용자의 액션을 받아 Model의 정보를 업데이트
👉 장단점
장점 | 단점 |
비교적 간단한 패턴으로 구조파악과 유지보수가 쉬움 | View와 Controller의 분리가 어려워 재사용성이 떨어짐 앱이 커지면 Controller의 양이 많아져 유지보수가 어려움 |
'ARCHITECTURE > Design Pattern' 카테고리의 다른 글
[Design Pattern] 디자인패턴 -Delegate Pattern (델리게이트 패턴) (0) | 2022.08.14 |
---|---|
[Design Pattern] 디자인패턴 -Singleton Pattern (싱글턴 패턴) (0) | 2022.08.11 |