[클린아키텍처] 7장. SRP: 단일 책임 원칙
7장. SRP: 단일 책임 원칙 p.65~72
새로 알게된 부분
단일 액터를 책임지는 코드를 함께 묶어주는 힘이다.
궁금한 부분
‘응집도’ 가 단일책임원칙 인건가 ?
객체가 하나의 책임을 가져야한다고 생각하기보다, 그냥 낮은결합도 높은응집도를 생각해야할 듯.
우발적 중복
우발적 중복이라는 단어는 조영호님 영상 어디선가 본거같다. 어디지? (책에서는 CFO에게 보고와 COO에게 보고 를 위한 기능을 분리해야한다고 함. => 액터가 다르기 때문.)
퍼사드 패턴 p70
퍼사드패턴 써본 적 없다.
병합을 해결할 수는 있을것 같은데 이렇게까지 해야하나?
병합을 위한 퍼사드는 사용할 일이 있기나 할까?
추가로, 퍼사드는 언제 사용하면 좋을까?
퍼사드
퍼사드가 프록시인가?
Nginx Url별로 서버로드밸런싱하는 그런거..
컴포넌트 수준 / 아키텍처 수준
SRP는
- 컴포넌트수준에서 공동폐쇄원칙이 된다
- 아키텍처수준에서 아키텍처 경계의 생성을 책임지는 변경의 축이 된다
라고 하는데, 컴포넌트수준/아키텍처수준 뭔지 모르겠다.
컴포넌트는 4부에 나오고, 아키텍처는 5부에 나온다.
인상적이었던 부분
SOLID원칙 중 의미가 잘 전달되지 못한 원칙은 단일 책임 원칙이라고 함. (리스코프라고 생각했는데..)
이유: 단일책임원칙은 객체(모듈)가 단일 책임을 가지는 것이 아닌데 네이밍은 그렇게 생각하게끔 만듬.
참뜻: 모듈은 변경의 이유가 오직 하나뿐이어야 한다.
즉, 모듈은 오직 하나의 액터에 대해서만 책임져야 한다.
- 액터: 변경을 요청하는 한 명 이상의 사람들
- 모듈: 함수와 데이터구조로 구성된 응집된 집합