没有标题所暗示的那么复杂。想象一下公司的两个部门:销售和制造。虽然销售中的数据(在ERP软件中)可能代表合同,但制造商必须处理这些合同建立的生产(例如:每月生产1,000笔)。这里面临的挑战是销售应该能够在任何工作时间更新合同,但在一天结束之前不得搞砸生产。换句话说,对于制造商,合约数据应在更新前显示为旧数据。对于销售,合同必须显示为新更新的合同。制造应该"看"仅在第二天更新。
这是一个Java ERP应用程序。如何使用最佳实践或设计模式处理这种情况?
答案 0 :(得分:0)
这对我来说听起来像模型 - 视图 - 控制器模式。我认为最好是创建一个类来存储实际数据,并将它提供给Sales和Manufacture类。
当您销售类想要更新合同时,您将要做的是,它在内部标有发布的营业时间。然后,每当制造类想要获得合同信息时,在该工作日内发布的任何内容都将被忽略,并且不会返回。
您希望如何做到这一点非常取决于您。 TheBetaProgrammer的想法效果很好,但是你想要不同部门的不同可见性会很复杂。您可能希望创建一个存储合同和可见性权限的类,并在请求数据时检查请求者是否可以在返回之前查看该版本的合同。