设计库存管理中的转移模式
Design a transfer pattern in inventory management
我正在为库存管理软件设计 Class 图。基本上它有 3 个概念:Item、Box 和一个 class 关联 Distribution,如下所示.
一个物品可以放在多个不同数量的箱子里。一个 Box 可以有很多 Items,当然,数量是不同的。并且它们之间的关系只有当一个盒子确实有一个项目并且在 Distribution class 中记录为 distributedQuantity 时才会形成。
现在我正在努力设计一个 class 来记录从一个盒子到另一个盒子的传输项目。暂且称之为转账概念,包括执行日期和转账数量
将特定物品从第一个盒子转移到第二个盒子时可能会发生以下情况:
第一个框内:如果转入的数量等于框内的数量,则删除它们之间的link。否则只修改Distribution class中的分配数量
在第二个箱子里:如果这个物品和箱子之间已经有一个link(也就是说这个箱子里已经有这个物品),那么分配的数量将会被修改。否则,一个新的 link 表格。
最初,我尝试link 传输到 Distribution,因为这个概念同时包含 Item 和 Box 的数据。但它只适用于第一个和第二个盒子都转移了物品的情况。
我不知道是否有针对此的标准(事务)模式。
Transfer
的实例用于记录 历史 Distribution
的实例所发生的事情。有两种建模方法。
1.复制Transfer
中的所有信息
不要将 Transfer 与任何可以删除的内容相关联,因为如果删除它,您将丢失信息。我想 Item、Box 和 Distribution 的实例都可以删除。复制Transfer属性中的所有信息。这意味着 Transfer 的属性中存储了有关商品、第一个盒子、第二个盒子和 transferredQuantity 的所有信息。 Class 传输没有任何关联。
2。不删除对象,但将它们标记为已死
在这种方法中,您不会删除任何对象,只是在它们不应该再存在时将它们标记为已死亡。您可以通过添加布尔属性 'dead'(或 'deleted')来实现。现在,您可以将 Transfer 与 Item 和 2 Boxes 相关联。让 Transfer 具有属性 'transferredQuantity'。这种方法的缺点是,当您需要使用额外的 类 和关联扩展模型时,您经常需要意识到模型中有死对象,这可能会影响多重性。
我正在为库存管理软件设计 Class 图。基本上它有 3 个概念:Item、Box 和一个 class 关联 Distribution,如下所示.
一个物品可以放在多个不同数量的箱子里。一个 Box 可以有很多 Items,当然,数量是不同的。并且它们之间的关系只有当一个盒子确实有一个项目并且在 Distribution class 中记录为 distributedQuantity 时才会形成。
现在我正在努力设计一个 class 来记录从一个盒子到另一个盒子的传输项目。暂且称之为转账概念,包括执行日期和转账数量
将特定物品从第一个盒子转移到第二个盒子时可能会发生以下情况:
第一个框内:如果转入的数量等于框内的数量,则删除它们之间的link。否则只修改Distribution class中的分配数量
在第二个箱子里:如果这个物品和箱子之间已经有一个link(也就是说这个箱子里已经有这个物品),那么分配的数量将会被修改。否则,一个新的 link 表格。
最初,我尝试link 传输到 Distribution,因为这个概念同时包含 Item 和 Box 的数据。但它只适用于第一个和第二个盒子都转移了物品的情况。
我不知道是否有针对此的标准(事务)模式。
Transfer
的实例用于记录 历史 Distribution
的实例所发生的事情。有两种建模方法。
1.复制Transfer
中的所有信息不要将 Transfer 与任何可以删除的内容相关联,因为如果删除它,您将丢失信息。我想 Item、Box 和 Distribution 的实例都可以删除。复制Transfer属性中的所有信息。这意味着 Transfer 的属性中存储了有关商品、第一个盒子、第二个盒子和 transferredQuantity 的所有信息。 Class 传输没有任何关联。
2。不删除对象,但将它们标记为已死
在这种方法中,您不会删除任何对象,只是在它们不应该再存在时将它们标记为已死亡。您可以通过添加布尔属性 'dead'(或 'deleted')来实现。现在,您可以将 Transfer 与 Item 和 2 Boxes 相关联。让 Transfer 具有属性 'transferredQuantity'。这种方法的缺点是,当您需要使用额外的 类 和关联扩展模型时,您经常需要意识到模型中有死对象,这可能会影响多重性。