patterns/factorymethod/pizzafactorymethod/pizzastore.d

24 lines
458 B
D

module factorymethod.pizzafactorymethod.pizzastore;
import factorymethod.pizzafactorymethod.pizza;
import std.stdio : writeln;
class PizzaStore
{
abstract Pizza createPizza(string type);
Pizza orderPizza(string type)
{
Pizza pizza = createPizza(type);
writeln("--- Making a " ~ pizza.getName() ~ " ---");
pizza.prepare();
pizza.bake();
pizza.cut();
pizza.box();
return pizza;
}
}