1. SRP, 단일 책임 원칙
- 하나의 모듈은 하나의 액터에 대해서만 책임을 가진다.
- 이때 모듈은 메서드와 데이터의 집합이다.
- 액터는 시스템 관점에서 바라본 사용자의 역할.
- 메서드는 하나의 기능을 가진다.
2. OCP, 개방 폐쇠 원칙
- 모듈은 변경을 지양하고 확장을 추구한다.
- 모듈을 수준에 따라 구분하고 저수준 모듈은 고수준 모듈을 의존한다.
- 이때, 수준이란 ‘변경의 가능성’을 말한다.
프로토콜에서 프로퍼티에는 Generic을 사용할 수 없으며, 이때 연관값을 사용한다.
단, 메서드에서는 Generic 사용 가능
Clean Architecture
개념
- 계층화를 통해 코드를 모듈화하고 의존성을 분리해, 유지보수와 테스트를 용이하게 하기 위한 아키텍처
의문점
- 어떻게 계층화할 것인가?