4. 원형 패턴(Prototype Pattern)

4.1 개요

원형 패턴은 미리 만들어진 개체를 복사하여 개체를 생성하는 패턴을 말합니다. 그리고 이때 미리 만들어진 개체를 원형 개체라 부릅니다. 일반화 관계로 표현할 때 파생 클래스의 개수가 과도히 많아지고 각 클래스의 메서드에서 수행하는 알고리즘에 차이가 없고 생성 시에 개체의 속성값만 다르다면 원형 패턴을 사용하는 것이 효과적입니다.

“원형 패턴을 사용하면 복잡한 일반화 관계를 없앨 수 있어요.”

 

4. 2 시나리오

다음 주에는 거제도와 통영으로 2박 3일 여행을 가기로 하였습니다. 이번 기회에 괜찮은 줌 렌즈를 하나 구매하려고 EHLand 쇼핑몰을 검색해 보았습니다.

EHLand 쇼핑몰에는 다양한 형태의 줌 렌즈들이 있는데 이들 중에 무엇을 사는 것이 좋은지 생각하다 보니 어떠한 원리로 만들어져 있는지 궁금해 졌습니다. EHLand의 매핑 씨한테 물어보면 궁금증이 풀릴 것 같아 이메일을 보냈어요. 

 안녕하세요, 매핑 씨.

지난번에 EhLand 사의 렌즈 개발 과정을 친절히 소개해 주셔서 감사드립니다. 이번에 남해안에 여행을 가게 되어 줌 렌즈를 하나 구매하려고 합니다. ‘어떤 렌즈를 구입을 할까?’ 고민을 하다 보니 어떻게 렌즈가 만들어지는지 궁금해졌어요.

  이메일을 보내고 난 다음 날 바로 매핑 씨의 답변 메일을 받았습니다.

 혁재 아버지, 안녕하세요.

가족끼리 남해에 여행을 간다고 하니 부럽네요. 혁재가 많이 좋아할 거 같군요.

이번에는 줌 렌즈를 만드는 공정이 궁금하신가 보네요. 줌 렌즈를 만드는 생산 설비는 복사기와 비슷한 원리로 만들어집니다. EHLand의 모든 줌 렌즈는 모두 같은 구조로 되어있고 들어가는 모듈도 크게 다르지 않습니다. 각 생산 설비마다 모형 줌 렌즈가 있는데 이들의 기본 구조는 동일하게 제작되어 있습니다. 물론, 각 모형 줌 렌즈들은 서로 거리 조절링에 설정되어 있는 최소 거리와 최대 거리나 조리개 조절링에 설정된 최소치와 최대치가 다릅니다. 생산 설비의 기계는 원본 줌 렌즈의 이들 속성을 확인하여 똑같게 설정된 렌즈를 생산하고 있지요.

 


4. 원형 패턴(Prototype Pattern) 설계

4. 원형 패턴(Prototype Pattern) 구현