빌더 패턴

 

추측 : 마치 프로그램 빌드 하는 것처럼 돌아간다고 해서 빌드 패턴인것 같다

 

Abstract Factory 패턴과 비슷하지만

 

Abstract Factory 는 해당 환경에 대한 클래스를 생성해서 바로 반환해 주지만

 

빌더 패턴은 자신의 해당구역에 저장해 놓으면서 조립하다가 함수를 통해서 완성된 것을

 

요청에 의한 반환에 의해 반환해 줄 수 있다는 것,

 

이때 Director 가 환경 또는 조건에 맞는 부분에 대해서 호출해준다

 

 

마치 건물이 단계적으로 만들어져서 만들어진 건물을 가지고 있는 것과 유사하다

 

 

 


 

 

 

 

 

txt 파일을 다른 파일로 변경할때

 

동일한 한개의 알고리즘 구문에 여러개의 변환 타입에 대해 코딩하면 변환 되는 부분이 있을때마다

 

switch 또는 if 분기 구문으로 그때마다 처리해 줘야 한다

 

이를 극복한 패턴이 빌드 패턴

 

 

상속구조로 각 파일 변환 타입을 컨테이너에 가지고 있고

 

 

해당 변환에 대한 분기구문이 있는 클래스 Director 클래스를 하나 만들어서

 

상속구조의 부모 클래스에 변환 요청을 하다 (함수 콜)

 

그럼 해당 변환 자식 클래스만 돌아가 변환 처리를 다른 변환(자식) 과 독립적으로 돌아 갈 수 있음으로 효율적이다

 

변환이 끝난 후 해당 자식에서 결과를 Director 에게 리턴해주는 등으로 처리해주면 된다

 

 

- 일반적으로 사용자는 이런 빌드 내부로직을 알 필요가 없게끔 하는 것이 좋다, 이건 용도나 개인적인 판단으로 구현을 선택.

 

 

반응형

+ Recent posts