一个关于库存的问题

有类关系如下:
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修改过]

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



// 在此输入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){
.......

}

}