프레임워크를 사용한다는 것은 상당한 수준의 헌신을 요구한다. 프레임워크를 코드에 받아들이는 순간, 프레임워크가 관리하는 세부사항들에 대한 통제권을 당신은 내려놓게 된다. 물론 이는 좋아 보인다. 그리고 대개는 실제로도 좋다. 하지만 모퉁이를 돌면 함정이 기다리고 있다. 그리고 그 함정은 다가오기 전까지 잘 보이지 않는다. 정신 차려보면 당신은 온갖 부자연스러운 짓을 하고 있다. 프레임워크의 베이스 클래스를 상속하고, 제어 흐름의 더 많은 부분을 내어주고, 프레임워크의 관례와 버릇, 고약한 특이점(idiosyncrasies)에 점점 더 깊이 고개를 숙이고 있는 것이다.