BOM(material 的清单)在 class 中的正确表示

BOM (bill of material) proper representation in a class

我需要有关如何在 class 中表示 BOM 概念的专家建议。到目前为止,在我的申请中我只有一个 Equipment。但是现在 BOM 集成有一个 CR。所以我必须修改我现有的 Equipment class。 如何以正确的方式表示 BOM child 和 parent 关系?

我有一个建议。

class Equipment {

        List <Equipment> childEquipmentList;

        public void addChildEquipment(EREquipmentVO childObject) {
            if(null == childEquipmentList) childEquipmentList = new ArrayList<EREquipmentVO>();
            this.childEquipmentList.add(childObject);
        } 

        public List<EREquipmentVO> getChildEquipmentList() {
              return childEquipmentList;
        }

}

想知道在Equipmentobject中有没有其他更好的方法来实现BOM关系。

我想您正在寻找 composite pattern。每个元素都应该能够计算其子元素的总成本。那是你想要的吗?