我正在用 ASP.NET MVC 4 C# 构建一个网站。要求如下: 0. 通过跨多个页面收集所需的详细信息来构建订单。
在最终提交订单之前,用户应该能够来回导航(以检查输入的值)。
根据当前选择,在后续页面中可能会收集到相关性 wrt 数据。例如,如果我更改需要运送产品的国家/地区,则需要更改下一页中适用的关税和税费。因此,后续页面中的数据需要失效。如果对字段的修改不影响任何其他数据(订购数量的变化),则需要保留当前选择。
对于场景 1,我计划使用 Memento 模式。该对象将被序列化并保存在数据库中。但是,我不确定如何处理场景 2。我确信这里会有一种设计模式可以使用。代码示例肯定会有所帮助。
最初我想到了观察者模式。但是,我没有任何活跃的订阅者可以对更改采取行动。(值将保存在数据库中,并将加载到下一页/上一页)。此外,我们在这里主要查看单个存储实体(字段 1 和 2 将填充在第 1 页上,字段 3、4、5 在第 2 页中......等)