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

Слайд 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 ConcreteProductA: public Product{
public:
string getName() {return "ConcreteProductA";}
};
class ConcreteProductB: public Product{
public:

string getName() {return "ConcreteProductB";}
};
Слайд 19

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

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();}
};
Слайд 20

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

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;
}
Слайд 21

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

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

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