책 오브젝트를 읽다가 좋은 글이 있어서 남겨본다.

코드의 의존성과 실행 시점의 의존성이 다르면 다를수록 코드를 이해하기 어려워진다.
반면 코드의 의존성과 실행 시점의 의존성이 다르면 다를수록 코드는 유연하고 확장 가능해진다.

설계가 유연해질수록 코드를 이해하고 디버깅하기 어렵다.
유연성을 억제하면 코드를 이해하고 디버깅하기는 쉽지만 재사용성과 확장 가능성은 낮아진다.

무조건 유연한 설계도 무조건 가독성이 좋은 코드도 정답이 아니고 이게 객체지향 설계가 어려운 점이다.

 

  장점 단점
유연성을 높이면

재사용성 높아짐
확장 가능성 높아짐

가독성 떨어짐
디버깅하기 어려워짐
유연성을 억제하면 가독성 향상
디버깅하기 쉬워짐
재사용성 낮아짐
확장 가능성 낮아짐

 

 

Leave a Comment


to Top