3

我正在学习 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);
  }
}

Warehouse依赖于类StockItem。类StockItem取决于类ProductWarehouse

如何理解这种关系?

4

3 回答 3

4

Warehouse是一个容器类,它有很多项目 -StockItem的。所以Warehouse知道StockItem并且每个人都StockItem知道Warehouse它属于什么。
就像是:

Warehouse warehouse = new Warehouse();
StockItem item1 = new StockItem();
item1.warehouse = warehouse;
warehouse.stock.add(item1);
于 2012-05-28T07:31:35.257 回答
1

仓库包含许多 StockItems。虽然没有检查,但 StockItem 只能属于一个 Warehouse。(仓库 1 --- 许多 StockItem)

StockItem 是特定产品(不能同时是 2 种类型!!!)。(StockItem many -- 1 Product:请注意,同一产品可以有很多 StockItem 对象)

于 2012-05-28T07:31:30.680 回答
1

类 Warehouse 依赖于类 StockItem。StockItem 类取决于 Product 和 Warehouse 类。

Warehouse提及的实施StockItem

public class Warehouse {
    ...
    public List<StockItem> stock = new ArrayList<>();
    ...
}

因此它取决于那个类。没有StockItem您将无法编译和使用Warehouse. 关系就是这样理解的。

StockItemvsProduct和 也是如此Warehouse

public class StockItem {
    ...
    public Warehouse warehouse;
    public Product product; 
    ...
}

没有Product您将无法编译和使用StockItem.

于 2012-05-28T07:32:02.833 回答