보관물

‘Design patterns’ 태그가 지정된 글

Strategy pattern

8월 4, 2009 댓글 남기기

Strategy

[의도]

  • 알고리즘군이 존재할 경우 각각의 알고리즘을 별도의 클래스로 캡슐화하고 이들을 상호 교환 가능한 것으로 정의한다. Strategy 패턴은 클라이언트에 영향을 주지 않고 독립적으로 알고리즘을 다양하게 변경할 수 있게 한다.

class CBase
{
public:
	CBase(){};
	virtual ~CBase(){};

	virtual BOOL Foo() = 0;
};

class CDerivedA : public CBase
{
public:
	CDerivedA(){};
	~CDerivedA(){};

	BOOL Foo(){return TRUE;};
};

class CDerivedB : public CBase
{
public:
	CDerivedB(){};
	~CDerivedB(){};

	BOOL Foo(){return TRUE;};
};

// main
	CBase * base;
	base = new CDerivedA;
	base->foo();
	delete base;
	base = new CDerivedB;
	base->foo();
	delete base;

file link

카테고리:Design patterns 태그:

class diagrams and purposes for the basic GoF patterns

1월 20, 2009 댓글 남기기
카테고리:Design patterns 태그:
팔로우

모든 새 글을 수신함으로 전달 받으세요.