https://github.com/protocorn93/iOS-Architecture

Overview

iOS Architecture Patterns 글을 참조하여 콘이 작성한 글을 그대로 작성한 것이다.

Architecture

구조를 생각하지 않고 프로그램을 작성한다고 프로그램이 돌아가지 않는 것은 아니다. 하지만 이런 프로그램은 가독성이 떨어지고 유지 보수 비용이 많이 든다. 또한 테스트 단계에서 테스트 자체가 불가능할 수 있다.

단순히 모듈(클래스)을 역할별로 나누어 관리하는 것이 아키텍쳐는 아니다. 특정 기준으로 역할을 정의하며 역할별로 나누어진 모듈간의 관계를 유기적으로 형성한 것이 아키텍쳐라 할 수 있다.

좋은 아키텍쳐은 기준과 특징

프로젝트의 성격에 맞게 선택적으로 도입해야 한다.

Distribution

위와 같이 Distribution을 기준을 정해 나누어 진행한다면 재사용성이 증가하며 독립적으로 테스팅할 수 있게 된다.