본문 바로가기

Template Method Pattern

(4)
후크 메소드 (Hook Method) 디자인 패턴 공부하는데.. 하나 빼먹은게 있었다. 템플릿 메소드 패턴을 배울때 나온 내용이었는데 제대로 안 짚고 넘어가서 과제할때 많은 애로사항을 주는 넘이 되었다... 그래서 -_- 공부도 잘 안하는데 후크 메소드가 뭔지 한번 알아 봤다. Head first, Design Patterns (오라일리) 책에는 후크에 대해서 이렇게 말하고 있다. 후크(Hook) 는 추상 클래스에 들어있는, 아무 일도 하지 않거나 기본 행동을 정의하는 메소드로, 서브 클래스에서 오버라이드 할 수 있습니다. 몬 개소리야 -_-;; 전혀 알아 먹을 수가 없다. 저중에 모르는 단어가 있는것도 아닌데 이 구절만 보면 무슨소린지 전혀 모르겠다. 오버라이드하는 메소드가 다 후크야?? 그럼 추상 메소드는 다 후크 메소드 인가?? 하는 ..
Template Method Pattern ③ 자자 그럼.. 템플릿 메소드에 대해서 정의를 이렇게 내리고 있습니다 ^^ ㅋ 템플릿 메소드 패턴에서는 메소드에서 알고리즘의 골격을 정의합니다. 알고리즘의 여러 단계 중 일부는 서브클래스에서 구현할 수 있습니다 템플릿 메소드를 이용하면 알고리즘의 구조는 그대로 유지하면서 서브클래스에서 특정 단계를 재정의 할 수 있습니다. 요런 클래스 다이어 그램이 그려집니다. +_+ 호호.. 제가 만들었던 거랑 비슷하지요?? 이다음에는 새로운 디자인 원칙에 대해서 설명을 합니다. 바로 할리우드 원칙이란 건데요. 이렇게 표현이 되어있습니다. 할리우드 원칙 먼저 연락하지 마세요. 저희가 연락 드리겠습니다.무슨 소릴까요 과연..? 의존성에 문제 입니다.고수준의 구성요소 즉 슈퍼 클래스가 서브 클래스에 의존하고 서브클래스 역시도..
Template Method Pattern ② 앞서 예를 들었던 Boy 와 Girl 클래스는 어떤 문제점이 있을까요?? 두 클래스에 굉장히 겹치는 부분들이 많다는 거죠.. 이런 겹치는 부분들이 생기면?? 상속을 활용한 재사용을 했습니다. 그래서 바꿔 봤습니다.. 상속을 통한.. ^^ 재사용을 위해서 말이죠~ 그래서 이렇게 상속의 구조로 고쳐봤습니다. 중복이 되는 코드인 고독을 느끼는 메소드와.. -_-;; (메소드명이 참;;) 사랑을 고백하는 메소드는 추상 클래스인 Human 클래스에 미리 정의를 해놓고.. findMates() 라는 메소드는 추상메소드로 상속 받는 서브 클래스에서 정의 하도록 했습니다. 이렇게 되면.. 공통적인 부분들을 확실히 분리해서 아름다운 코드가 되겠지요.. ^^ 음.. 하지만 아쉬운게 있습니다. 서브 클래스에 있는 findG..
Template Method Pattern ① 하하.. 오랜만에 DP 공부를 다시 합니다.. 왜냐... -_-;; 학교에서 공부를 하고 있단 말이죠.. 지금 예습을 한 패턴이 몇개 안됩니다.. 지금 1챕터가 끝났는데 예습은 7챕터까지 밖에 안해놨으니.. 빨리 끝까지 가야겠습니다. 이번에 배울 패턴은 템플릿 메소드 패턴입니다. 흠.. 이름이 에지간이 멋있네요.. 하튼 이놈의 패턴들은 이름 간지 포스가 좔좔.... 후후 재미있는 예제 소스 속으로 일단 빠져 보시겠습니다. 이번 예제의 에피소드는 남녀의 작업 실태?? 정도로 생각하시고... 가벼운 마음으로 보시길 바랍니다. 괜히 여기서 성정체성을 찾는다던가.. 나는 안그런데.. 이러실 필요 없습니다.. -_- 왜? 제 생각이니까요.. package templateMethod; import java.util..