더북(TheBook)

3.3.5 영향을 받는 품질 속성

이해 가능성 : 추상화의 이해 가능성이 불리한 이유는 특정 메서드가 추상화에서 빠진 이유를 이해하기 어렵기 때문이다.

변경 가능성과 확장 가능성 : 추상화의 변경 가능성과 확장 가능성이 영향을 받아서는 안 된다. 하지만 상호 보완적인 메서드를 여러 추상화에 걸쳐 분리할 때 추상화에서 메서드 하나를 변경하거나 개선하면 다른 관련된 추상화에 영향을 미칠지도 모른다.

재사용 가능성 : 연산 중 몇몇을 추상화에서 제공하지 않으면 새로운 맥락에서 추상을 재사용하기가 더 어렵다. 지원하지 않는 연산을 명시적으로 제공할 필요가 있기 때문이다.

안정성 : 불완전한 추상화는 필요한 기능을 구현하지 않기에 결함을 초래할 수도 있다. 게다가 메서드가 빠지면 사용자는 우회책을 이용하여 필요한 기능을 제공하려고 할 것이다. 이것은 실수하기 쉽고 실행 시간 문제로 이어질 수 있다. 예를 들어, 잠금용 메서드는 추상화에서 제공하지만 잠금 해제용 메서드는 제공하지 않을 때 클라이언트는 잠금을 해제할 수 없을 것이다. 클라이언트는 자신의 코드에서 잠금 해제 기능을 구현하려고 추상화의 내부 자료 구조에 직접 접근을 시도할지도 모른다. 이런 직접적인 접근은 실행 시간 오류로 이어질 것이다.

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