- 액션, 계산, 데이터로 나눠서 고민
- 액션에서 최대한 계산을 분리할 것.
- 계산에서는 데이터 분리
- 액션이 계산이 될 수 있는지, 계산은 데이터가 될 수 있는지 고민할 것
- 계산은 더 작은 계산과 데이터로 나누고 연결할 수 있다.
- 데이터는 다른 영향을 주지 않으므로 데이터부터 먼저 찾아야 한다.
- 계산은 때론 우리 머릿속에서 일어난다. -> 무언가를 결정하거나 계획한다면 계산.
- 데이터의 불변성
- 변경할 때 복사본을 만든다.
- 보관하려는 데이터의 복사본을 만든다.
액션
- 이메일 쿠폰 보내기
- 데이터베이스에서 구독자 가져오기.
- 데이터베이스에서 쿠폰 읽기
계산
- 쿠폰에 등급
- 어떤 이메일이 쿠폰을 받을지 결정하기
데이터
- 이메일 제목
- 이메일 주소
- 추천 수