Паттерн фабричный метод (шаблон) презентация

Слайд 2

... Абстрактная фабрика

... Абстрактная фабрика

Слайд 3

… Builder

… Builder

Слайд 4

Слайд 5

Слайд 6

Слайд 7

Слайд 8

Слайд 9

Слайд 10

Слайд 11

Слайд 12

Слайд 13

Слайд 14

Слайд 15

Слайд 16

Слайд 17

class Product{
public:
virtual string getName() = 0;
virtual ~Product() {}
};

class Product{ public: virtual string getName() = 0; virtual ~Product() {} };

Слайд 18

class ConcreteProductA: public Product{
public:
string getName() {return "ConcreteProductA";}
};
class ConcreteProductB: public Product{
public:
string getName()

{return "ConcreteProductB";}
};

class ConcreteProductA: public Product{ public: string getName() {return "ConcreteProductA";} }; class ConcreteProductB: public

Слайд 19

class Creator{
public:
virtual Product* factoryMethod() = 0;
};
class ConcreteCreatorA: public Creator{
public:
Product* factoryMethod()

{return new ConcreteProductA();}
};
class ConcreteCreatorB: public Creator{
public:
Product* factoryMethod() {return new ConcreteProductB();}
};

class Creator{ public: virtual Product* factoryMethod() = 0; }; class ConcreteCreatorA: public Creator{

Слайд 20

int main()
{
static const size_t count = 2;
ConcreteCreatorA CreatorA;
ConcreteCreatorB CreatorB;
//

Массив создателей
Creator*creators[count] = {&CreatorA, &CreatorB};
// Перебора создателей и создавать продукты
for(size_t i = 0; i Product* product=creators[i]->factoryMethod();
cout << product->getName() << endl;
delete product;
}
return 0;
}

int main() { static const size_t count = 2; ConcreteCreatorA CreatorA; ConcreteCreatorB CreatorB;

Слайд 21

Схожие шаблоны и их отличия

Схожие шаблоны и их отличия

Имя файла: Паттерн-фабричный-метод-(шаблон).pptx
Количество просмотров: 69
Количество скачиваний: 0