Witam
W ramach nauki próbowałem zaimplementować wzorzec projektowy: Builder. Z tego co zrozumiałem w opisie i diagramie udało mi się napisać coś takiego.
Lecz nie jestem pewien czy jest to poprawna implementacja tego wzorca.
#include
#include
using namespace std;
class Product{
public:
string Name;
Product(){};
void setName(string name){
this->Name=name;
}
void viewName(){
cout<<"Nazwa produktu: "<
}
};
class Builder{
public:
virtual void buildPart()=0;
virtual Product getResults()=0;
};
class ConcreteBuilder : public Builder{
public:
Product produkt;
void buildPart(){
produkt.setName("Smaczna Pizza");
}
Product getResults(){
return produkt;
}
};
class Director{
public:
void Construct(Builder* build){
build->buildPart();
}
};
void main(){
Director dyrektor;
Builder* budowniczy = new ConcreteBuilder;
dyrektor.Construct(budowniczy);
Product p = budowniczy->getResults();
p.viewName();
}