북마크
🔥 좋았던 부분
💦 어려웠던 부분
도시를 세운다면?
각 분야를 관리하는 팀이 있기 때문에, 잘 돌아갈 수 있다.
수도 관리 팀
전력 관리 팀…
온갖 세세한 사항을 혼자서 직접 관리할 수 없다.
도시에는
큰 그림을 그리는 사람
도 있으며
작은 사항에 집중하는 사람
도 있다.
추상화 수준을 분리한다.
소프트웨어 팀도 도시처럼 구성한다.
깨끗한 코드를 구현하면 낮은 추상화 수준에서 관심사를 분리하기 쉬워진다.
비슷한 수준으로 관심사를 분리하거나 추상화를 이뤄내지 못한다.
[ ] 낮은 추상화 수준? = 함수 단위
이번 장에서는 높은 추상화 수준 (시스템 수준) 에서도 깨끗함을 유지하는 방법을 살펴본다.
시스템 제작과 시스템 사용을 분리하라
제작과 사용은 아주 다르다는 사실을 명심한다.
소프트웨어 시스템은 (애플리케이션 객체를 제작하고 의존성을 서로 ‘연결'하는) 준비 과정과 (준비 과정 이후에 이어지는) 런타임 로직을 분리해야 한다.
관심사 분리