ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IOS Architecture
    App/Swift 2017. 7. 6. 10:31

    IOS 개발자로서 디자인 패턴(아키텍쳐)를 이해하는 것은 굉장히 중요하다.


    개발을 하면 엄청난 양의 클래스와 그에 따른 버그를 찾지 못하게 될 상황에 마주할 수 있다. 

    그걸 대비하여 개발설계를 잘 세우고 어떠한 아키텍쳐를 선정하여 개발하느냐는 매우 중요한 요소이다.


    좋은 아키텍쳐의 특징

     * 엄격한 룰에 따라 개체들간의 책임 분리를 균형있게 해야 함

     * 테스트들이 가능해야 함

     * 사용하기 편해야 함


    분리를 해야하는 이유?

    단독 개발일 때는 상관 없지만, 협업일 경우 내 머릿속의 생각만을 가지고 앱을 개발하는것은 불가능 하기 때문


    아키텍쳐의 종류

     * MVC

     * MVP

     * MVVM

     * VIPER


    위에서 3개(MVC,MVP,MVVM)은 아래 3개 카테고리 중 하나는 들어가 있음

     * Model - 데이터나 데이터 접근 레이어 소유를 책임지는 부분

     * View - 레이어에 표현되어 있는 것을 책임지는 부분(UI)

     * Controller - 사용자가 View에서 액션을 취할 때 Model을 변경하거나, Model이 변경되었을 때, View를 갱신하는 책임을 가지는 부분


    MVC 모델

    IOS에서의 VC는 합쳐져 있다고 봐도 무방하다.

    ViewController라고 불리게 되는데, 억지로 View와 Controller를 떼어내어 개발할 수 있지만, 불필요한 작업이 될 수 있다.

    다른 패턴들에 비해 소스코드가 적게 든다. 추가로 많은 사람들이 친숙하게 사용하기도 하며 경험해보지 못했던 개발자도 쉽게 접근할 수 있다는 장점이 있다.


    MVP 모델

    Presenter와 Model의 책임을 거의 분리했고 View는 빈 껍데기가 된 셈

    VIew의 재사용성 덕분에 대부분의 비지니스 로직을 테스트 할 수 있음


    'App > Swift' 카테고리의 다른 글

    WKWebView의 Delegate  (0) 2017.02.20
    WKWebView 정의 및 로드  (0) 2017.02.20
    서브스크립트와 오버라이딩  (0) 2017.02.07
    클래스와 구조체  (0) 2017.02.06
    열거형  (0) 2017.02.06
Designed by Tistory.