반응형

개발/디자인 패턴 4

자바 디자인 패턴을 알아보자 #4 Template Method 패턴

📗 『JAVA 언어로 배우는 디자인 패턴 : 쉽게 배우는 GoF의 23가지 디자인 패턴』를 읽고 정리한 글입니다. 템플릿이란 무엇인가?본인은 사실 템플릿이라는 용어에 대해 제대로 모르고 있었다. 템플릿이란 문자 모양대로 구멍이 난 얇은 플라스틱 판이라고 한다.템플릿 구멍을 통해 어떤 형태의 문자인지 알 수 있지만 펜을 사용하는지, 사인펜을 사용하는지 등 어떤 도구를 사용하느냐에 따라 색깔, 또는 구체적인 모양이 달라진다. 그래서 Template Method 패턴이 뭔데?상위 클래스에 뼈대로써 템플릿이 될 추상 메소드를 정의하고, 하위 메소드에서 그것을 구체적으로 구현하는 패턴이다.어느 하위 클래스에서 구현을 달리 하더라도 상위 클래스의 템플릿에 따라 처리의 큰 흐름은 정해져 있다. 예제 프로그램다음은 ..

자바 디자인 패턴을 알아보자 #3 Adapter 패턴

📗 『JAVA 언어로 배우는 디자인 패턴 : 쉽게 배우는 GoF의 23가지 디자인 패턴』를 읽고 정리한 글입니다. Adapter 패턴이란?가령 직류 12 볼트로 동작하는 노트북을 교류 100 볼트 AC 전원에 연결한다고 해보자. 그때 우리는 AC 어댑터라는 장치를 사용한다.제공된 것과 필요한 것 그 사이에서 AC 어댑터가 Adapter 역할을 하는 것이다.이렇듯 Adapter 패턴은 프로그래밍 차원에서도 이미 제공된 코드를 그대로 사용할 수 없을 때 필요한 형태로 변환하여 이용하는 경우 사용한다. 그래서 Adapter 패턴은 Wrapper 패턴이라고도 한다.Adapter 패턴은 두 가지 방법으로 구현할 수 있다.클래스 상속을 이용하여 중간 역할을 수행한다.중간 역할을 인스턴스에게 위임한다. 예제 프로그..

자바 디자인 패턴을 알아보자 #2 Iterator 패턴

📗 『JAVA 언어로 배우는 디자인 패턴 : 쉽게 배우는 GoF의 23가지 디자인 패턴』를 읽고 정리한 글입니다. Iterator 패턴이란?// 반복문for (int i = 0; i Iterator 패턴은 반복문에서 사용되는 변수 i의 기능을 추상화하여 일반화한 패턴이다.해당 패턴은 무언가가 많이 모여 있을 때 이를 순서대로 가리키며 전체를 검색하고 동일 처리를 반복한다. 예제 프로그램을 살펴보자위 다이어그램은 업무에 해당하는 하위 업무명을 차례대로 표시하는 프로그램을 나타낸다.업무와 하위 업무는 그저 내가 진행하는 토이 프로젝트 주제다. 프로젝트는 업무로 구성되어 있고, 각 업무는 하위 업무로 구성할 예정이다.참고로 실제 책에서는 책과 책장을 도메인으로 하여 설명하였다.  public interfac..

자바 디자인 패턴을 알아보자 #1 개요

📗 『JAVA 언어로 배우는 디자인 패턴 : 쉽게 배우는 GoF의 23가지 디자인 패턴』를 읽고 정리한 글입니다. 이해를 돕기 위해 책에서 제시하는 힌트디자인 패턴이 클래스 라이브러리 자체는 아니다. 클래스 라이브러리 안에서 디자인 패턴이 사용되는 것이다. 디자인 패턴을 이해하고 있다면 처음 보는 클래스 라이브러리라고 하더라도 역할을 이해하는 데 도움이 된다. 프로그램을 완성품으로 보지 않는다. 디자인 패턴의 목표 중 하나는 프로그램의 재사용이다. 그러므로 프로그램을 완성하는 것이 아니라 끝없이 기능을 확장해 가는 것이다.다음과 같은 물음을 항상 갖고 있어야 한다."어떤 기능이 확장될 가능성이 있는가?""기능을 확장할 때 어느 클래스를 수정해야 하는가?""수정할 필요가 없는 것은 어느 클래스인가?"다이..