iOS스터디/iOS

[ios] IOS 디자인 패턴 Design Pattern

슬라임 통통 2021. 1. 15. 15:39
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
반응형