我想从其他人那里得到一些关于以下问题的想法。假设我们有两个类 Products 和 Items。Products 对象允许我们访问任何 Item 对象。这是示例。
$products = new Products();
// get existing item from products
$item = $products->get(123);
// create item
$item = $products->create();
$item->setName("Some new product");
$item->setPrice(2.50);
现在更新/保存项目状态的最佳方法是什么?我看到 2 个选项:
$item->save();
或者
$products->save($item);
第一种方法似乎非常直接。一旦设置了 Item 对象的属性,对其调用 save 方法将持续更改。
另一方面,我觉得后一种方法更好。我们将两个对象的角色分开。Item 对象仅包含状态, Products 对象在该状态上运行。此解决方案也可能更适合编写单元测试。有什么想法吗?