Skip to content

Instantly share code, notes, and snippets.

@benelog
Last active November 27, 2023 21:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save benelog/efe168b61845829cab5d790e46235730 to your computer and use it in GitHub Desktop.
Save benelog/efe168b61845829cab5d790e46235730 to your computer and use it in GitHub Desktop.
Head first design pattern 1,2판 차이
  • 페이지별 제목이 큰 흐름 맥락에서의 목적을 드러내는 방식으로 바뀌고 기존 제목은 작게 표시
    • 예: 바뀌는 부분을 찾아내봅시다 -> 최첨단 피자코드 만들기(바뀌는 부분을 찾아내봅시다)
    • 복습하거나 중간에 있는 내용을 찾아보기에는 더 편해진 느낌이다.
  • 낱말퀴즈가 전반적으로 바뀌어 있음.

2장 옵져버 패턴

  • java.util.Observer를 쓰던 예제가 2판에서는 직접 정의한 인터페이스를 쓰도록 변경
    • Java8이후에는 java.util.Observer 등이 거의 안 쓰인다는 설명도 추가 됨.

5장 싱글턴 패턴

  • Q&A에서 2가지 질문 추가 (p218)
    • 리플렉션, 직렬화 역질력화에서의 문제는 없는지
    • 느슨한 결합 원칙에 위배되지 않는지
  • Enum을 이용한 싱글턴 구현 소개 (p219)

6장 커맨드 패턴

  • 구상 커맨트 객체를 람다 표현식으로 바꾸는 예제 추가 (p250)
  • Swing 예제로도 커맨드 패턴 설명 (p265, p270)

7장 템플릿 메서드

  • Applet 예제를 AbstractList를 활용하는 예제로 대체 (p343)

8장 반복자 패턴, 컴포지트 패턴

  • Iterable 인터페이스, 향상된 for 구문에 대한 설명 추가 (p377-379)
  • 복합 반복자, 널 반복자 등의 내용은 삭제됨 (1판의 p406~p413)
  • 패턴과 설명 연결 퀴즈에서 스테이트 패턴이 빠지고 전략 패턴이 들어감(1판 p417, 2판 p409)

11장 프록시 패턴

  • 동적 클래스 다운로딩 방식 설명 삭제(1판 p486)
  • 인터페이스 이름 변경 PersonBean -> Person (1판 p513-514, p517, 2판 p504-505, p508)
  • Q&A에서 RMI관련 질문 2개 삭제(1판 p524, 2판 p514)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment