4. 원형 패턴(Prototype Pattern)
4.1 개요
원형 패턴은 미리 만들어진 개체를 복사하여 개체를 생성하는 패턴을 말합니다. 그리고 이때 미리 만들어진 개체를 원형 개체라 부릅니다. 일반화 관계로 표현할 때 파생 클래스의 개수가 과도히 많아지고 각 클래스의 메서드에서 수행하는 알고리즘에 차이가 없고 생성 시에 개체의 속성값만 다르다면 원형 패턴을 사용하는 것이 효과적입니다.
4. 2 시나리오
다음 주에는 거제도와 통영으로 2박 3일 여행을 가기로 하였습니다. 이번 기회에 괜찮은 줌 렌즈를 하나 구매하려고 EHLand 쇼핑몰을 검색해 보았습니다.
EHLand 쇼핑몰에는 다양한 형태의 줌 렌즈들이 있는데 이들 중에 무엇을 사는 것이 좋은지 생각하다 보니 어떠한 원리로 만들어져 있는지 궁금해 졌습니다. EHLand의 매핑 씨한테 물어보면 궁금증이 풀릴 것 같아 이메일을 보냈어요.
안녕하세요, 매핑 씨. 지난번에 EhLand 사의 렌즈 개발 과정을 친절히 소개해 주셔서 감사드립니다. 이번에 남해안에 여행을 가게 되어 줌 렌즈를 하나 구매하려고 합니다. '어떤 렌즈를 구입을 할까?' 고민을 하다 보니 어떻게 렌즈가 만들어지는지 궁금해졌어요. |
이메일을 보내고 난 다음 날 바로 매핑 씨의 답변 메일을 받았습니다.
혁재 아버지, 안녕하세요. 가족끼리 남해에 여행을 간다고 하니 부럽네요. 혁재가 많이 좋아할 거 같군요. 이번에는 줌 렌즈를 만드는 공정이 궁금하신가 보네요. 줌 렌즈를 만드는 생산 설비는 복사기와 비슷한 원리로 만들어집니다. EHLand의 모든 줌 렌즈는 모두 같은 구조로 되어있고 들어가는 모듈도 크게 다르지 않습니다. 각 생산 설비마다 모형 줌 렌즈가 있는데 이들의 기본 구조는 동일하게 제작되어 있습니다. 물론, 각 모형 줌 렌즈들은 서로 거리 조절링에 설정되어 있는 최소 거리와 최대 거리나 조리개 조절링에 설정된 최소치와 최대치가 다릅니다. 생산 설비의 기계는 원본 줌 렌즈의 이들 속성을 확인하여 똑같게 설정된 렌즈를 생산하고 있지요. |
[그림] 원형 패턴(Prototype Pattern) 예제 클래스 다이어그램
2016/04/25 - [프로그래밍 기술/Escort GoF의 디자인 패턴 C#] - [C#]4. 원형 패턴(Prototype Pattern) - 설계(Design)
2016/04/25 - [프로그래밍 기술/Escort GoF의 디자인 패턴 C#] - [C#] 4. 원형 패턴(Prototype Pattern) - 구현
'프로그래밍 기술 > Escort GoF의 디자인 패턴 C#' 카테고리의 다른 글
[C#] 단일체 패턴(Singleton Pattern) - 구현 (0) | 2016.04.26 |
---|---|
[C#] 단일체 패턴(Singleton Pattern) - 설계(Design) (0) | 2016.04.26 |
[C#] 단일체 패턴(Singleton Pattern) - 개요, 시나리오 (0) | 2016.04.26 |
[C#] 4. 원형 패턴(Prototype Pattern) - 구현 (0) | 2016.04.25 |
[C#]4. 원형 패턴(Prototype Pattern) - 설계(Design) (0) | 2016.04.25 |
[C#] 3. 팩토리 메서드 패턴(Factory Method Pattern) - 구현 (2) | 2016.04.25 |
[C#] 3. 팩토리 메서드 패턴(Factory Method Pattern) - 설계(Design) (0) | 2016.04.25 |
[C#] 3. 팩토리 메서드 패턴(Factory Method Pattern) - 개요, 시나리오 (0) | 2016.04.25 |
[C#] 2. 빌더 패턴(Builder Pattern) - 구현 (0) | 2016.04.25 |
[C#] 2. 빌더 패턴(Builder Pattern) - 설계 (0) | 2016.04.25 |