Architecture
- 작은 앱의 경우 한 ContentView.swift 파일 안에서 모든 기능을 구현할 수 있다.
- 하지만, 앱이 커질수록 코드가 방대해지고 스파게티 코드가 될 수 있다.
- 현재 소프트웨어는 읽기 쉬운 코드와 변경이 자유롭고 편리한 것을 강조한다.
- 앱 아키텍쳐란 코드의 구성을에 대한 전략이다.
Single Responsibility Principle
- SRP 이라고 한다.
- 여러 클래스와, 구조체가 존재할 때, 모든 클래스와 구조체는 오로지 하나의 일을 해야 한다는 것이다.
- 앱의 아키텍처는 여러 오브젝트들이 어떻게 연결되고 소통할 수 있는지를 생각하는 것이다.
- SRP의 장점
- 이해하기 쉽다.
- 수정하기 쉽다.
- 테스트 하기 쉽다.
- View
- 유저와 인터렉션하고 데이터를 유저에게 보여주는 역할
- Model
- 데이터를 가지고 특정 로직을 수행하는 역할
- View -> Model을 봐라보는 구조로 구성하면 재사용성이 좋고 테스트하기 좋은 구조가 된다.