Фабричный метод. Factory Method.

Фабричный метод - это основание для работы абстрактной фабрики и строителя. Предположим, наша игра должна производить территорию.

class CGame
{
public:
	virtual CTerrain* createTerrain();
//....
}
class CTerrain
{
//....
}

Оба класса абстрактные, потому что игра может вестись за людей или гномов, и соответственно территории могут быть людские или гномьи, а просто игры и территории не бывает. Игра должна породить территорию в зависимости от того, кто она (игра) на самом деле.

class CHumanTerrain : public CTerrain
{
//....
}
class CHumanGame : public CGame
{
		CTerrain* createTerrain () { return new CHumanTerrain; };
}

Производящий метод createTerrain и есть фабричный метод. Структура паттерна такова: класс CCreator желает получать

CProduct, но предоставляет своим конкретным потомкам право решать, какой конкретный продукт производить.


By Albert Makhmutov.



Опубликовал admin
1 Авг, Воскресенье 2004г.



Программирование для чайников.