ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Head First Design Patterns
    후기/Book Review 2018. 9. 7. 20:50



    목차

    1. 디자인 패턴의 세계에 오신 것을 환영합니다: 디자인 패턴 소개
    2. 객체들에게 연락망을 돌립시다: 옵저버 패턴
    3. 객체 꾸미기: 데코레이터 패턴
    4. 객체지향 빵 굽기: 팩토리 패턴
    5. 세상에서 단 하나뿐인 특별한 객체: 싱글턴 패턴
    6. 호출 캡슐화: 커맨드 패턴
    7. 적응시키기: 어댑터 패턴과 퍼사드 패턴
    8. 알고리즘 캡슐화: 템플릿 메소드 패턴
    9. 잘 관리된 컬렉션: 이터레이터와 컴포지트 패턴
    10. 객체의 상태: 스테이트 패턴
    11. 객체 접근 제어: 프록시 패턴
    12. 패턴들로 이루어진 패턴: 컴파운드 패턴
    13. 실전에서의 디자인 패턴: 패턴과 함께하는 행복한 삶
    14. 부록: 기타 패턴
      1. 브리지 패턴
      2. 빌더 패턴
      3. 역할 사슬 패턴
      4. 플라이웨이트 패턴
      5. 인터프리터 패턴
      6. 미디에이터 패턴
      7. 메멘토 패턴
      8. 프로토타입 패턴
      9. 비지터 패턴


      헤드퍼스트 특유의 구성(좋게 말하면 스토리텔링, 나쁘게 말하면 정신사나움) 때문에 고민했지만 GoF 디자인패턴보다 쉽고 재밌어서 강추한다는 말이 많아서 선택했다. 디자인패턴 한 번쯤은 짚고 정리하고 구분할 정도는 되야 겠다 싶은 생각이 들었다. 그래야 코드로 이야기하고 패턴으로 이야기 하기가 쉬워 질 것 같다. 


      책의 내용은 정말 알차게 구성이 되어 있다. 챕터간 이어지는 챕터도 있고 독립적으로 이루어진 챕터들도 있다. 챕터에서 특정 상황을 가정하고 그 상황을 해결하기 위해 코드를 점진적으로 발전시켜 나가면서 패턴을 적용해 보는 방식이다. 이해를 돕기 위한 상황극과 인터뷰 등이 있어서 지루하지 않게 책을 읽어 나갈 수 있다. 특히 요새 많이 사용하는 Rx와 관련하여 옵저버 패턴이 쓰인다고 하니 관련해서도 도움이 될 듯 하다. 또한 롬복에서 @Builder(얼마전에 처음 봤다)에 사용되는 빌더 패턴도 도움이 된다. 그 외 스프링에 적용된 수 많은 패턴들이 어떤 것이 어떻게 사용되었는지 앞으로 조금 더 이해하기 쉬울 것 같다.


      사실 객체지향 디자인 설계 패턴(OODP) 전공수업 때 패턴에 대해 배우긴 했는데, 그 때는 별로 와닿지도 않았고 제대로 이해도 못했던 것 같다. 지금에야 조금 이해가 되고 어떨 때 어떤 패턴을 쓰면 되겠구나 알게 되었다. 자바와 스프링을 사용하여 개발은 하지만 그게 좋은 설계였다고는 말하지 못할 것 같다. 유지보수와 재사용성, 가독성이 뛰어난 견고한 코드를 위해 항상 노력하고 연구해야 하지만 어느정도 되는 대로, 돌아가게끔 작업을 하지 않았나 반성한다. 그렇다고 이제부터 모든 걸 패턴에 끼워맞춰서 개발할 생각도 없고 필요도 없다. 어차피 답은 없다. 상황에 따라 필요한 대로 가져다 쓰고 변형하고 적용하여 좋은 코드를 만들면 되는 것이다.




    Head First Design Patterns: 스토리가 있는 패턴 학습법, 한빛미디어(에릭 프리먼 외 3인)

    '후기 > Book Review' 카테고리의 다른 글

    Refactoring  (0) 2018.12.08
    이것이 자바다  (0) 2018.11.10
    모두의 네트워크  (2) 2018.08.16
    켄트 벡의 구현패턴  (0) 2018.08.08
    CODE  (0) 2018.07.23

    댓글

Designed by Tistory.