一个关于库存的问题

10-03-31 jeffrey4chartcrm

有类关系如下:

public class StoreHose{

//仓库类

private List<Storeage> storeages = new ArrayList<Storeage>();

...

}

public class Storeage{

//库存类

private List<StoreageLine> lnkLines = new ArrayList<StoreageLine>();

}

public class StoreageLine {

//库存单类

private Goods goods;

private int quantity;

...

}

public class Goods{

//货物类

private String name;

...

}

public class StoreHoseService(){

public int getQuantityOfStoreHose(Goods goods){}

}

不知这样设计是否合理,各位给点意见。如要查询,货品在仓库中的库存总量,是不是应该把getQuantityOfStoreHose行为放在StoreHoseService中,通过遍历多个list得到货物库存总数,这样是不是显得有点繁琐?

[该贴被jeffrey4chartcrm于2010-03-31 10:20修改过]

xmuzyu
2010-03-31 22:18

在进行建模的时候,库存和库存单应该是高度聚合的关系,只能通过库存来访问库存单,系统中不存在独立于任何库存的库存单。但是在实现的时候,要根据具体的需求来分析,比如如果库存的库存单很多,那么考虑到一次性到内存会耗费很大的内存空间,因此实现的时候要采用查询的方式来实现。

// 在此输入java代码

public class StorageHost{
  //如果库存单数量不会很大的话,可以利用list如下:
  private List<Storage> storages= new ArrayList<Storage>():

  public int getQuantityOfGoods(Good good){
     int quantity = 0;
     for(Storage storage : storages){
        quantity = quantity+storage.getQuitityOfGood(good);
     }
  }
  //如果库存单数量非常大,那么可以采用查询来实现
  public int queryQuantityOfGood(GoodQueryService goodQueryService,Good good){
     .......  

  }

}

<p>