我正在学习Play框架。我关注了三个代表仓库库存项目 - 产品数据模型的类:
public class Product {
public Long ean;
public String name;
public String description;
public String toString() {
return name;
}
}
public class Warehouse {
public String name;
public List<StockItem> stock = new ArrayList<>();
public String toString() {
return name;
}
}
public class StockItem {
public Warehouse warehouse;
public Product product;
public Long quantity;
public String toString() {
return String.format("%d %s", quantity, product);
}
}
类仓库取决于类 StockItem 。类 StockItem 取决于类产品和仓库。
如何理解这种关系?
答案 0 :(得分:4)
Warehouse
是一个容器类,它有很多项 - StockItem
。因此Warehouse
了解StockItem
,并且每个StockItem
都知道它属于Warehouse
。
类似的东西:
Warehouse warehouse = new Warehouse();
StockItem item1 = new StockItem();
item1.warehouse = warehouse;
warehouse.stock.add(item1);
答案 1 :(得分:1)
Warehouse包含许多StockItems。虽然没有完成检查,但StockItem只能属于一个仓库。 (仓库1 ---很多StockItem)
StockItem是特定产品(它不能同时是两种类型!!!)。 (StockItem many - 1产品:请注意,您可以拥有同一产品的很多StockItem对象)
答案 2 :(得分:1)
类库依赖于类StockItem。类StockItem依赖于产品和仓库类。
Warehouse
的实施提及StockItem
:
public class Warehouse {
...
public List<StockItem> stock = new ArrayList<>();
...
}
因此依赖在该类上。如果没有StockItem
,您将无法编译和使用Warehouse
。这就是如何理解这种关系。
同样适用于StockItem
vs Product
和Warehouse
:
public class StockItem {
...
public Warehouse warehouse;
public Product product;
...
}
如果没有Product
,您将无法编译和使用StockItem
。