황희정님이 정리한 내용입니다.
![2장 요약](https://private-user-images.githubusercontent.com/50111853/245319600-5459c295-7939-4feb-b086-a2e6597357ee.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg3Mjc2MDksIm5iZiI6MTcxODcyNzMwOSwicGF0aCI6Ii81MDExMTg1My8yNDUzMTk2MDAtNTQ1OWMyOTUtNzkzOS00ZmViLWIwODYtYTJlNjU5NzM1N2VlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE4VDE2MTUwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZhZWRkNDEzM2I3NjIxZjQ2MjE0YzZlNzc0ZTlkNGZlYTljMWUzYzY2NWM3NzEyNWRmYTg5Nzg2MTlhZjU4ZTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0._Sb8t6eL7gkGpyYlD3Ag7hzDMNSvHskPTo27UNJ_6Ck)
- 계층화 설계
- 비즈니스 규칙, 도메인 규칙, 기술 스택 계층으로 나눈다
- 각 계층은 코드의 변경 가능성에 따라 나누며, 아래에 있는 계층을 기반으로 만들어진다.
- 가장 위에 있는 코드가 의존성이 거의 없기때문에 쉽게 바꿀 수 있다.
- 계층형 설계로 만든 코드는 테스트, 재사용, 유지보수가 쉽다.
- 타임라인 다이어그램
- 시간에 따라 변하는 액션을 시각화하는 방법이다.
- 타임라인 다이어그램을 사용하면 액션이 시간 순서에 따라 어떻게 실행되는지 볼 수 있다.
- 고차 동작
- 고차 함수로 만든 동작을 말한다.
- 타임라인 커팅
- 여러 타임라인이 동시에 진행될 때 서로 순서를 맞추는 방법이다.
- 액션이 올바른 순서로 실행할 수 있도록 보장해준다.
(기본적으로 타임라인은 서로 순서를 맞출 수 있는 기능이 없다.
액션 간 실행 순서를 보장할 수 없으며 예측 불가능한 순서로 실행된다.)