본문 바로가기

iOS 앱 점검(ObjC)

iOS 아키텍처 패턴 - 개요

반응형

iOS 앱 아키텍처 패턴

원문 출처 : https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52

iOS Application Architecture Patterns에 대해 다룬다.

종류는 다음과 같다. (링크 타고 들어가세요~!)

 


아키텍처 패턴을 왜 알아야하고 선택을 고민해야 하나?

 

아키텍처가 없다면 언젠가 수십가지의 다른 things들을 가지는 거대한 class를 debugging 한다고 할 때, 이 클래스 안에서 어떠한 버그를 찾지도, 고치지도 못하는 자신을 발견할 수 있을 것이다.

이런 거대한 class의 전체 구조를 머리 속에 저장하는 일은 정말 어려우므로, 항상 중요한 세부사항을 놓치지 마련이다.

자네가 이미 이런 상황에 놓여 있다면 아마 다음의 것들과 유사할 것이다.

 

  • 이 클래스가 UIViewController의 subclass이다.
  • 데이터가 UIViewController에 directly하게 저장되어 있다.
  • UIViews가 거의 아무것도 안한다.
  • 'Model'이 멍청한 데이터 구조를 가진다.
  • Unit Tests로 아무것도 커버하지 못한다.

이러한 상황은 Apple의 가이드라인을 따르고 Apple's MVC 패턴에 따랐다 하더라도 발생할 수 있다.

Apple's MVC도 문제점을 가지고 있고, 물론 다른 패턴들도 마찬가지다. 하나씩 차근히 알아볼 것이다.


좋은 아키텍처의 3가지 특징

 

먼저 좋은 아키텍처의 특징 3가지를 짚고, 주요 관점으로 바라보고 비교하길 바란다.

1. Distribution : 엄격한 규칙을 가지고 entites 사이에서 균형있게 책임을 분배하는 것. (역할 분담이 명확한가!)

2. Testability : 각각의 요소를 독립적으로 테스트 할 수 있는지를 뜻한다. 이는 보통 1번(Distribution) 옵션에 따라온다.

(서로 긴밀하게 얽히지 않고 분배가 잘 된다면 독립성이 확보되므로 독자적으로 테스트도 가능하다.)

3. Easy of use : 사용의 편리함코드의 길이에 비례한다. 아키텍처 패턴 구현에 많은 유지보수 비용이 들어간다(코드가 많아진다)면 사용의 편의성은 떨어진다.

 

 

 

반응형

'iOS 앱 점검(ObjC)' 카테고리의 다른 글

iOS 아키텍처 패턴 - MVP  (1) 2019.05.20
iOS 아키텍처 패턴 - Apple's MVC  (0) 2019.05.20
iOS 아키텍처 패턴 - Classic MVC  (0) 2019.05.20
xcode simulator 명령어 기록  (0) 2019.01.17
IOS 리버싱 툴  (0) 2019.01.16