2016년 4월 1일 금요일

Design Pattern Digest - 4. Abstract Factory

이글은 책 "Java언어로 배우는 디자인 패턴 입문"을 읽고 쓴 요약입니다. 
나만 이해하도록 불친절하게 작성되어 있습니다. 
자세한 내용은 책을 보세요. 


Abstract Factory




  • Factory Method와 거의 유사한데 하나의 product에만 초점을 맞춘 것이 아니라 여러 product를 생성하고 이를 조합하는 과정에 초점이 맞춰져 있다.
  • Client가 AbstractFactory보고 product A 내놔 B 내놔.. 해서 A계열의 AbstractProduct와 B 계열의 AbstractProduct를 얻어온다음 그걸로 뭔가 최종 제품을 만든다. 그래서 여기서의 AbstractProduct는 제품이라기 보다는 부품이라고 보는 것이 좋다. 
  • 그리고 이런 일련의 부품들을 제공하는 ConcreteFactory의 선정이 중요한데 그 부분까지 다룬다. 예제에서는 class이름을 command line 입력으로 받아서 ConcreteFactory를 만듦으로써 입력에 따라 전혀 다른 제품이 생성될 수 있도록 했다. 
  • 새로운 제품군을 위한 공장과 부품 추가는 쉬운 반면, 새로운 부품 유형을 추가하는 것은 어렵다. 즉, product C 추가는 어렵다. 


댓글 없음:

댓글 쓰기