Creational Pattern 중 AbstractFactory Pattern
Abstract Factory Pattern은 Abstract Factory가, 관련된 여러 instance를 생성할 수 있도록 하는 인터페이스를 제공하는 것이다. 또한, 각 instance의 생성에 대한 interface만을 제공하고, 실제로 어떠한 instance를 생성할 것인지에 대해서는 Abstract Factory의 Sub Class(ConcreateFactory)에서 결정하도록 하여 높은 유연성을 보장하고 있다.

가전제품공장과 같이, 특정 부류의 제품을 생성하는 것을 생각하면 되겠다.
가전제품공장에서는 '냉장고'도 생산할 수 있고, 'TV'도 생산할 수 있을 것이다.


 
<< image : http://www.dofactory.com/ >>



Client의 경우 AbstractFactory interface를 이용하여 Abstract Product interface를 구현한 product의 instance를 얻고, 사용만 하면 되기 때문에, 어떤 제품이, 어떤 과정을 거처 생성되는지에 대하여 고려할 필요가 없으며,  ConcreateFactory와 Product의 구현을 추가하여 새로운 product instance를 사용할 수 있게 된다.



Abstract Factory pattern의 경우에는 Concreate Factory를 추가하므로써, 동일한 제품군의 다양한 제품을 생성할 수 있다는 장점이 있지만, Factory에 새로운 제품군을 추가하여야 할 경우, CreateProduct...()와 같은 형식의 method를 추가하여야하기 때문에, 이러한 부분에서는 확장성이 낮다고 볼 수 있다.




p.s.
잇힝 ~ 요것도 세미나에서 잘못 발표했다오~(__~);;
공부를 제대로 했어야 하는 것을..ㅠ0ㅠ
by 나무귀신 | 2006/02/24 00:07 | Design Pattern | 트랙백 | 덧글(0)
트랙백 주소 : http://schoolor.egloos.com/tb/1498023
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글



< 이전페이지 다음페이지 >