4.1 고수준 코드와 저수준 코드를 분리하라
고수준 동작을 수행하는 코드와 저수준 구현 코드를 분리하면 변경의 영향을 최소화할 수 있다. 고수준 코드가 주로 다른 고수준 코드에 의존하도록 디자인하면 저수준 세부 사항의 변경이 미치는 영향을 줄일 수 있다. 고수준 코드를 분리하면 더 모듈화된 적응력 좋은 시스템을 만들 수 있고, 이런 시스템은 시간이 지나도 유지보수와 변경이 더 쉽다.
대부분의 비즈니스 기능은 고수준과 저수준 두 가지 관점에서 볼 수 있다. 고수준 관점은 기능이 무엇을 해야 하는지를 기술하고, 저수준 관점은 작업을 어떻게 수행할지를 기술한다.