개발/디자인패턴 3

[디자인패턴] template method 패턴(탬플릿 메소드 패턴) 예제

안녕하세요.디자인 패턴 세번째 시간 입니다. 다른 책들도 보면서 공부를 해봤지만이번 책을 통해 개념위주의 간단한 예제를 통해 알아보니예전보다는 약간(?)의 이해도가 더 높은 것 같습니다. 이번에는 Template Method 패턴에 대해 알아 보겠습니다. Template Method 란?상위 클래스에서 뼈대를 결정하고, 하위 클래스에서 그 구체적인 내용을 결정 상위 클래스쪽에 탬플릿에 해당하는 메소드가 정의 되어 있고,그 메소드의 정의 안에는 추상 메소드로 정의 즉, 상위 클래스를 보면 추상 메소드를 어떻게 호출하는지 알 수 있지만, 최종적으로는 어떤 처리가 수행되는지는 알 수 없음. 이름 설명 AbstractDisplay 메소드 display만 구현되고 있는 추상 클래스 CharDisplay Abstr..

[디자인 패턴] Adapter 패턴 예제

안녕하세요.디자인 패턴에 대해 차근차근 공부해 나가며 포스팅 하고 있습니다.이번에는 Adapter 패턴에 대해 알아보겠습니다. Adapter 패턴은 Wrapper 패턴으로 불리기도 하며,'이미 제공되어 있는 것'과 '필요한 것' 사이의 차이를 없애주는 역할을 합니다.Adapter 패턴에는 상속을 사용한 패턴과 위임을 사용한 패턴이 존재 합니다.바로 예재를 통해 알아보겠습니다. 먼저, 상속을 사용한 패턴을 알아보겠습니다.각 클래스 및 인터페이스의 역할을 미리 소개 하겠습니다. 이미 제공되어 있는 것 Banner 클래스 교환 장치 PrintBanner 클래스 필요한 것 Print 인터페이스 '이미 제공되어 있는 것'의 역할인 Banner 클래스 입니다. package Adapter_delegation; pu..

[디자인패턴]배열 요소를 표시하기위한 이터레이터(Iterator) 패턴

안녕하세요.디자인패턴 이라는 카테고리를 만들어 놓고거의 몇년간 포스팅을 안했네요. 공부를 그만큼 안했다는 거죠.이제 공부를 하나씩 해가며 포스팅을 진행할 예정 입니다. 오늘은 이터레이터(Iterator) 패턴을 포스팅 하려고 합니다. 일반 적으로 우리는 반복문을 사용할때 for 문을 주로 사용합니다.for(int i=0, i< 10; i++) 이런식으로 말이죠. 이터레이터(Iterator) 패턴은 for문에서 사용하고 있는 변수 i의 기능을 추상화해서 일반화 한 것 입니다.정리하면, 배열 등의 많이 모여있는 것들을 순서대로 지정하면서 전체를 검색하는 처리를 실행하기 위한 것 입니다. 다음은 이터레이터(Iterator) 패턴에 사용되는 클래스 및 인터페이스 입니다. 파일명 설명 Aggregate 집합체를 ..