我正在使用使用 Java EE 编写的成熟生产代码。为了处理不寻常的数据条件,我插入了一个有效的健全性检查,但增加了一些不必要的成本。该架构的工作原理如下:
- 在第 1 页上,用户从列表中选择一个项目并单击“开始”按钮。
- 对 Page 1 的视图范围控制器 bean 的 Ajax 调用会创建一个昂贵的大数据对象 (BEDO),然后对其进行完整性检查以确保其有效。
- 如果 BEDO 有效,则页面 1 通过 Javascript 将自身转发到页面 2。
- Page 2 的视图范围的支持 bean 创建一个新的 BEDO 副本,与用于健全性检查的副本相同。
我创建了两次相同的 BEDO,并且只是扔掉了第一个。我想找出一个浪费更少处理周期的解决方案。
所以我的问题是,将 BEDO 从第 1 页的控制器 bean 获取到第 2 页的支持 bean 的最佳低影响方法是什么?让 Page 1 的控制器访问支持 bean 不起作用;因为第 2 页的支持 bean 是视图范围的,所以当用户实际被发送到第 2 页时,它会重新创建。
我可以更改第 2 页的支持 bean 的范围,但我宁愿不这样做。因为这是成熟的生产代码,所以我非常警惕引入回归错误。这就是我所说的“低影响”;我不想和现有的架构混在一起,就像我必须做的那样。