解耦 类 in Java in Very Coupled Business Logic

Uncoupling Classes in Java in Very Coupled Business Logic

我正在编写一个模拟器,作为开始学习 Java 和面向对象分析与设计 (OOA&D) 的第一个雄心勃勃的项目。模拟器将比较不同的方法来管理供应链中的库存(如果业务部分需要更多详细信息,请告诉我)。

我很难为我的 classes 获得解耦设计。虽然完整版模拟器有更多 classes,但我遇到问题的 classes 是:

所以我的问题是:考虑到我面临的业务逻辑耦合,这真的是一种很好的解耦吗?我可以应用任何其他策略(哪些?)来帮助我设计一个更健壮和灵活的模拟器吗?

ProductData 映射中的每个条目可能应该是 ProductDataEntry class 的成员(除非它们包含的数据变化很大)。

听起来 RawResults 可能会扩展 ProductDataEntry,因为它将具有相同的字段。

总的来说,您的设计听起来还不错 - 但是,如果不查看实际对象和整体架构,就无法多说,这里不是那个地方(而且我没有时间)。

老实说,在你编程生涯的这个阶段(甚至以后),你不应该害怕尝试一些东西,如果它们不起作用就把它们扔掉。与其花 3 天时间尝试决定要做什么,不如花 1 天时间在 3 个原型中的每一个上尝试不同的方法,然后在最后看看你从原型中学到了什么以及你喜欢什么和不喜欢什么。

请注意,虽然尽可能多地解耦是一个很好的目标,但有时问题的本质是事物紧密耦合。当这种情况发生时,不要扭曲整个架构来对抗它 - 只要确保它们确实确实需要尽可能紧密地耦合。