2010년 7월 6일 화요일

Factory Pattern

「패턴 그리고 객체지향적 코딩의 법칙」중에서 정리

Factory

이름
그대로
객체
생성

enum
등, argument를
통해
구체화된
자식 class의
객체 return
new & delete
법칙에
위배
되지
않음

그렇지만
자식 class의
함수를
수행하고
싶을
경우 type 을
통해 downcasting이
이루어져야
함 ( 다중
상속
시
문제가
발생 )
Class ...Factory ( arg e_type )
( switch ( e_type )
case e1: new CE1;
case e2: new CE2;

...)


 

Abstract Factory

연관성
있는
객체들을
모아서 interface를
제공

Example )

Class IABFactory ( interface class )
CCom1Ob : public IABstractFactory
{ virtual Ob1 * CreateA () ;
virtual Ob2 * Createb () ;
...}

pOb1 = CCom1-> CreateA;
pOb2 = CCom1-> CreateB;
...
delete pOb1 , pOB2 ;


 

댓글 없음: