2006년 09월 26일
Builder Pattern
디자인패턴을 공부하던중 이글루스에서 디자인 패턴을 공부하시는분의 불로그를 보았다.
참 괜찮게 정리를 해놓으 신거 같은데......
예의 무릅쓰고 트랙백을 걸어서...같이 공부도 해볼겸 의견도 교환 해볼려 한다.
참고로 사전에 동의를 구하지는 않았는데 ㅠ.ㅠ
------------------------------------------------------------------------------------------------------
이글은 http://icarosss.egloos.com/334208 을 기본으로 하고 있습니다.
빌더 패턴...
부분 부분 생성을 통한 전체 객체 생성이라고 한다.
어렵다 무슨말이냐....
롯데리아에 가면....햄버거 세트를 주문한다.
보통 주문하면 ) 햄버거 주고 , 감자(대신에..딴것도 준다 치즈스틱 ㅡ,.ㅡ) 주고 , 음료를 준다.
햄버거를 줄때 ==> 여러가지중 한가지를 주고
후식줄떄 => 감자 또는 치즈스틱을 주고
음료줄때 => 콜라,사이다를 준다.
세트를 만드는 과정은 큰 틀에서 동일한데....
결과( 세트메뉴라는 결과를 생성한다.) 는 input 에 따라서 전혀 다르다... 이럴때 빌더 패턴을 쓴단다.
http://www.allapplabs.com/java_design_patterns/builder_pattern.htm
에 그렇게 적혀 있다.
그림으로 설명을 한다면

이와 같다
http://terrylee.cnblogs.com/archive/2005/12/19/299878.html 에서 그림을 참조했다.
위의 링크에 좀더 많은 이미지가 있으니 보면 도움이 될듯 하다. < 중국어라서 번역이 ㅡ,.ㅡ; >
< 중국어 번역은 http://trans.empas.com/china.php 를 하면 될듯하다.. >

< 그림 출처 : http://en.wikipedia.org/wiki/Builder_pattern >
이 패턴을 사용하는 측에서는 Director 와 Builder 의 상속된 객체를 생성하고 Director 에게 Builder(생성된)
의 객체를 인자로 넘겨 준다. 그럼 Director 에서는 Builder 의 인터페이스를 순서대로 호출한다.
그리고 결과의 패턴을 넘겨받는다 ( 윗 그림 --> Product )
요 Product 을 생성하는 패턴이라고나 할까 ^^
내가 들고 있는 책에는.....
번역기를 예를 들었는데
문서에 대해... 평서문을 번역,의문문을 번역,명령문을 번역..
번역 과정은 동일하지만.... 영문,일문,중문 번역등 이렇게 구분을 하게되면... 이떄 빌더 패턴을 쓴다고 한다.
http://schoolor.egloos.com/1497706 를 살펴보면 아래와 같이 정의 된다.
'Builder Pattern은 특정 instance들을 생성할 때 수행되어야 할 작업이 동일할 경우 적용될 수 있는 pattern이다.'
작업은 동일하지만... 하는 내용은 전혀 다르다...
번역이라는 작업은 같지만... 중국어 번역이랑 영어 번역은 전혀 다르다.... ^^ 물론 결과는 완성된 번역물 이다.
# by | 2006/09/26 17:33 | 디자인 패턴 | 트랙백 | 핑백(1) | 덧글(1)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
... .. 하는 내용은 전혀 다르다...번역이라는 작업은 같지만... 중국어 번역이랑 영어 번역은 전혀 다르다.... ^^ 물론 결과는 완성된 번역물 이다.출저: http://kicom95.egloos.com/384309 ... more