|
Builder Pattern은 특정 instance들을 생성할 때 수행되어야 할 작업이 동일할 경우 적용될 수 있는 pattern이다.
<< image 출처 : http://www.dofactory.com/ >> Director의 경우, Builder의 instance를 인자로 받아, Builder의 method를 실행하는 역할을 수행한다. 이 경우, Director는 어떤 결과물이 만들어 지는지는 상관하지 않고, 결과물 생성에 필요한 Method만을 실행해 준다. Builder interface를 구현한 ConcreteBuilder에서는 이러한 결과물을 만들기 위한 Method들을 실제로 구현하며, Method들의 실행결과로 생성되는 결과물을 저장하는 변수를 가진다. 또한, 결과물을 return하기 위한 Method를 가진다. Builder Pattern을 통하여 얻을 수 있는 장점은, 생성될 때(초기화 될 때) 동일한 과정을 수행해야 하는 서로 다른 Class의 instance에 대하여 통일된 생성방법(초기화 방법)을 제공할 수 있다는 것이다. (서로 동일한 상속관계를 가지지 않는 instance를 동일한 방법으로 생성할 수 있다!!!) public class Director{ public void Construct(Builder builder){ builder.buildA(); builder.buildB(); } } public interface Builder{ public void buildA(); public void buildB(); } public class ProductA{ ... } public class ProductB{ ... } public class ProductABuilder implements Builder{ private ProdctA product = new ProductA(); public void buildA(){ ...} pubilc void buildB(){...} pubilc ProductA getResult(){return product;} } public class ProductBBuilder implements Builder{ private ProdctB product = new ProductB(); public void buildA(){ ...} pubilc void buildB(){...} pubilc ProductB getResult(){return product;} }
|
by 나무귀신 카테고리
최근 등록된 덧글
ㅎㅎ 이제 사서 읽기시..
by 이라나이 at 10/31 저도 Jericho보다가 궁.. by ㅁㄴㅇ at 03/22 아... 이 책. 손에 잡.. by simsen at 03/01 컥 그냥 프로세스만 잡.. by nuka at 02/22 to 마네킹 삼성과의 마.. by 나무귀신 at 11/15 삼성이 김변호사의 패를.. by 나무귀신 at 11/15 최근 등록된 트랙백
Adderall.
by Adderall without a pr.. Diazepam onset. by 60 mg diazepam alco.. Adderall. by Adderall 7.5 image. Oracle Table Alias .. by 행복의 세잎 클로버 라이프로그
태그
|