티스토리 뷰

팩토리 패턴은 서로 관련성이 있거나 책임이 같은 클래스들을 생성해 주는 클래스를 객체 생성 과정 중간에 두어 복잡도를 줄이는 방법이다.

한마디로, 객체 생성 전담자라는 의미로 생각하면 된다.

class Character
{
	//각종멤버
};

class User : public Character
{
	//각종멤버
};



class Npc : public Character
{
	//각종멤버
};

class Monster : public Character
{
	//각종멤버
};


class CharacterFactory
{
public:
	static Character * CreateUser()
	{
		return new User;
	}

	static Character * CreateNpc()
	{
		return new Npc;
	}

	static Character * CreateMonster()
	{
		return new Monster;
	}
};

int _tmain(int argc, _TCHAR* argv[])
{
	Character * pCharacter = CharacterFactory::CreateUser();
	//다형성을 통한 pCharacter 제어/ 관리 가능.
	return 0;
}


댓글