我正在尝试创建以下结构
class bot
{
protected $name;
protected $type;
public function __construct($name, IBotType $type)
{
$this->name = $name;
$this->type = $type;
}
public function getProduct()
{
return $this->type->produceProduct();
}
}
class botType1 implements IBotType
{
public function produceProduct()
{
return 'Donut';
}
}
class botType2 implements IBotType
{
public function produceProduct()
{
return 'Coffee';
}
}
唯一一个实体类是bot类,类型将有一些基本配置,如名称等,一些逻辑ex botType1将能够生产甜甜圈,botType2将生产咖啡等。
主要问题是如何使用doctrine存储该信息,以及从数据库加载对象以创建正确的bot类型。
我希望这是有道理的!
请注意,我不想将每种类型存储到数据库中,我希望有一个php类,我将所有控制逻辑存储在那里。
(在实际应用程序中有100个各种机器人类型的集合,我们通过它们调用getProducts以创建产品等,希望上面的例子有意义!)
感谢您的时间!
答案 0 :(得分:1)
我花了一些时间,但我相信使用下面的文章我应该能够完全按照我的要求形式: strategy pattern cookbook或 decorator pattern cookbook
玩得开心!