이런 식으로 코드를 명시적으로 분리하면 유지보수에 좋고, 특히 복잡한 기능과 비즈니스 규칙이 있을 때 더 효과적이다. 기능을 기술하는 코드(고수준 코드)와 해당 기능을 구체적으로 구현하는 별도의 코드가 필요하다.
이 패턴을 따르면 몇 가지 장점이 있다. 첫째, 코드를 유지보수할 때 고수준 코드부터 시작하면 기능을 더 빠르게 이해할 수 있다. 고수준 코드는 ‘어떻게’가 아니라 ‘무엇’을 다루기 때문이다. 저수준 세부 사항을 들여다보는 것은 꼭 필요할 때 하면 된다. 코드를 이해하기 위해 수백 줄의 코드를 읽을 필요가 없으면 유지보수가 훨씬 쉬워진다. 세부 사항을 숨김으로써, 개발자는 중요한 부분에 집중할 수 있다.
둘째, 고수준 코드와 저수준 코드를 분리하면 각각 따로 변경하고 발전시킬 수 있다. 예를 들어 고수준 코드에 영향을 미치지 않고 저수준의 내부 세부 사항을 변경할 수 있으며, 반대쪽 방향도 마찬가지다.