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 |