더북(TheBook)

예제 2

그림 3.6은 이미지 처리 애플리케이션의 설계 일부다. 그림에서 보여 주는 클래스 이면에는 두 이미지를 비교하여 차이점을 저장한다는 목적이 있다. Application 클래스는 OffsetCalculator 클래스에서 제공하는 calculateOffset() 메서드를 사용하여 주어진 두 이미지 사이의 편차를 계산한다. 계산한 편차를 Application으로 반환한 후 Application 클래스는 SaveHandler 클래스에서 제공하는 saveOffset() 메서드를 호출하여 저장한다.

OffsetCalculatorSaveHandler 클래스를 살펴보면, 각각 calculateOffset()saveOffset() 메서드만 하나씩 포함하고 있음을 알 수 있다. 따라서 OffsetCalculatorSaveHandler 클래스는 명령 추상화 악취로 고통받는다.

 

▲ 그림 3.6 이미지 처리 애플리케이션을 위한 클래스 다이어그램(예제 2)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.