728x90
옷장에 있는 옷들처럼 코드도 체계적으로 분류하기위하여 필요한 것이 디자인 패턴.
유지 보수를 위하여는 패턴이 필요함. 클린 아키텍처
목표 : 기술부채 최소화, 재사용 및 지속 가능
MVC (model - view - controller)
mvvm이 나오기 전의 패턴.
- model : 데이터 struct
- view : UI요소
- controller : 두가지 사이에 중계자 viewController
단점: 개발이 커지면 커질수록, 중계자에서 해야할 일이 너무 많아짐 (massive view controller)
뷰와 모델의 경계가 모호해질 때가 있다.
MVVM (model - view - viewmodel)
현재 가장 널리 사용하는 디자인 패턴
- model : 데이터
- view: UI요소 (view, viewcontroller 포함)
- viewmodel: viewModel 중계자 . View를 표현하기 위해 만든 View를 위한 Model. View를 나타내 주기 위한 Model이자 View를 나타내기 위한 데이터 처리를 하는 부분.
특징: Model에 의존성이 없는 View, View와 비즈니스 로직의 철저한 분리.
개선점: 기존의 controll의 역할을 축소시킨다.
원래는 viewcontroller가 model에 직접 액세스 하였는데 mvvm에선, viewmodel이란 것이 액세스함.
코드에 있는 부분을 개선시키는 것을 리팩터링이라고 한다.(기사시험때 틀릴뻔한용어-_-)
728x90
반응형
'iOS스터디 > iOS' 카테고리의 다른 글
[xcode] extension 언제 사용? (0) | 2021.01.19 |
---|---|
[xcode] Animating View Properties (0) | 2021.01.16 |
[IOS] MVVM 모델 개념 (0) | 2021.01.02 |
[IOS] MVC 모델 설명 (0) | 2021.01.01 |
[인프런] IOS 앱개발 입문 2편 수료 (0) | 2020.12.31 |