-
-
Head First Design Patterns - 스토리가 있는 패턴학습법 ㅣ Head First 시리즈
에릭 프리먼 외 지음, 서환수 옮김 / 한빛미디어 / 2005년 9월
평점 :
구판절판
헤드퍼스트 시리즈는 책이 재미있게 구성되어 있어서 쉽게 이해할 수 있는 장점이 있습니다. (But 깊이는 좀 부족합니다.)
IT 서적을 보면서 미소지을 수 있는 내용이 곳곳에 있습니다. 상속을 잘못하여 날라다니는 고무오리 화면은 익살스럽기까지 합니다. 디자인 원칙중에 하나는 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로부터 분리시키는 것입니다. 단일 책임의 원칙아래에 변경이 일어나는 부분을 찾는 것입니다.
옵저버 패턴은 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락하여 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의합니다.
데코레이터 패턴은 객체에 추가적인 요건을 동적으로 첨가하는 방식으로 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있습니다.
팩토리 메소드 패턴은 객체를 생성하기 위한 인터페이스를 정의하고 구체적인 인스턴스는 서브클래스에서 결정하게 하는 방식입니다.
개인적으로 자주 사용하는 패턴으로 여러가지 수행을 동등한 수준에서 처리하는 경우나 옵션에 따라 실행하는 동작을 정의할 때 사용하면 좋습니다.
어댑터 패턴은 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환하는데 사용합니다.
템플릿 메소드 패턴은 프로세스나 알고리즘의 틀을 미리 정의하고 일부 기능을 서브클래스에서 상세히 구현하도록 하여 흐름 구조는 그대로 유지한채 특정 기능만 새롭게 정의하여 사용합니다.
이터레이터 패턴은 컬렉션 안에 들어있는 모든 항목에 접근할 수 있게 해주는 방법을 제공합니다.
스테이트 패턴은 객체의 내부 상태가 바뀜에 따라서 객체의 행동을 바꿀 수 있습니다.