프로그래밍 언어/C & C++ 정리

인터페이스를 사용하기 쉽게 설계하기 (2)

뽀또치즈맛 2024. 12. 5. 08:05

필요한 기능 빼먹지 않기


필요한 기능을 빼먹지 않는 원칙은
두 단계로 적용한다.

첫 번째는 클라이언트가 필요로 하는 동작은
모두 인터페이스에 추가해야한다.

간혹 포함시켜야할 지 불분명한 기능이 있다.
이럴 때는 자신이 작성한 코드를 클라이언트가
이용하는 모든 경우의 수를 따져봐야한다.

인터페이스를 설계할 때 한 가지 관점만 고려하면
다른 방식으로 바라보는 클라이언트가 필요한 기능을 놓칠 수 있다.

물론 가능한 모든 경우의 인터페이스를 설계한다는 것이
불가능에 가깝다.

두 번째 인터페이스에 최대한 많은 기능을 구현하는 것이다.
라이브러리에서 해결할 수 있거나

그러나,
인터페이스를 다르게 설계하면 알 수 있는 정보를
클라이언트 코드에서 지정하도록 구현하면 안된다.

또한 라이브러리의 결과를 합치는 데
필요한 일을 클라이언트에게 떠넘기면 안된다.