【发布时间】:2019-01-17 18:52:19
【问题描述】:
我正在开发一个 Laravel 项目,并希望在我的项目中实现工厂和存储库模式。但是,我仍然不知道应该在哪里使用工厂模式?它仍然非常混乱。我知道不必为每个项目都使用工厂模式,但作为我学习的一部分,我想了解更多关于这两种模式组合的信息。这是我的代码示例。希望我能得到你们的帮助和解释。谢谢你。
class ProductFactory
{
public function create()
{
return new Product;
}
}
class ProductRepository implements ProductRepositoryInterface
{
protected $productFactory;
public function __contruct(
ProductFactory $productFactory
)
{
$this->productFactory = $productFactory
}
public function all()
{
return Product::all();
}
public function loadById($id);
{
return Product::find($id);
}
public function save($data,$id=NULL)
{
if($id != NULL){
$product = $this->loadById($id)
}
else{
$product = $this->productFactory->create();
}
return $product->fill($data)->save();
}
.....
}
【问题讨论】:
标签: laravel design-patterns repository factory