『패턴을 활용한 리팩토링』 - 조슈아 케리에브스키

2025. 7. 29. 21:42IT 독후감

반응형

📘 책을 고르게 된 이유

객체지향 설계를 하다 보면 중복 코드, 책임의 분산, 클래스 간의 관계 설정에 대한 고민이 끝이 없었습니다. 그러던 중 많은 개발자들에게 “디자인 패턴의 바이블”로 불리는 이 책을 알게 되었고, 객체지향 프로그래밍의 정수를 배우고 싶어 선택했습니다.

🧠 기억에 남는 내용

GoF는 23가지 디자인 패턴을 세 가지 카테고리(Creational, Structural, Behavioral)로 나누어 소개합니다. 각 패턴은 문제 상황, 해결 방식, 적용 사례가 체계적으로 구성되어 있어 실무에서도 참고하기 좋습니다.

특히 기억에 남는 것은 Strategy PatternObserver Pattern입니다. Strategy는 알고리즘을 동적으로 바꿀 수 있게 도와주고, Observer는 객체 간의 느슨한 결합을 유지하면서 변화에 유연하게 대응할 수 있게 해줍니다.

이 책이 강조하는 건 단순한 “패턴의 나열”이 아니라 객체 간의 관계 설계 능력입니다. 예를 들어 Decorator나 Composite 같은 패턴은 구조적으로 복잡한 UI를 설계할 때도 큰 도움이 되었고, “상속보다 합성”이라는 객체지향의 철학을 실감하게 했습니다.

🔍 개발자로서 얻은 인사이트

  • 디자인 패턴은 문제 해결의 정답이 아니라, 구현을 단순화하고 유지보수를 쉽게 해주는 설계 사고방식입니다.
  • 코드를 짤 때 “이건 어떤 패턴으로 풀 수 있을까?”를 고민하는 습관이 생겼습니다.
  • 팀원들과 코드 리뷰 시, 공통된 설계 용어(예: 팩토리, 싱글턴 등)를 사용하면서 의사소통이 더 명확해졌습니다.

💡 나의 생각과 적용

처음에는 너무 추상적이고, “이걸 실무에 진짜 쓸 수 있을까?”라는 생각이 들었습니다. 하지만 리팩토링이나 시스템 구조 설계를 할 때 이 책에서 본 패턴들이 하나씩 떠오르기 시작했고, 지금은 패턴을 아는 것 자체가 도구함을 갖추는 것이라고 생각합니다.

예를 들어 업무 시스템에서 다양한 메시지 전송 방식(SMS, Email 등)을 처리할 때 Strategy Pattern을 적용했고, 화면 요소를 조합할 때는 Composite 패턴을 사용했습니다. 실제 코드에 적용하며 이 책이 단순히 학술적인 것이 아니라, 실전 지침서임을 깨달았습니다.

728x90