我的 Web 应用程序有一个场景,我想就如何更好地设计它提出建议。
我必须对我的应用程序进行步骤:收集和分析。当有一个收集发生时,用户需要知道这个收集正在进行,分析也是如此。系统还显示用户最近执行的 10 次收集和分析。
当用户与系统交互时,正在进行的收集和分析(因此,最后的收集/分析)会不断变化。因此,在考虑了存储这些信息以正确显示它们的不同方式之后,因为它们是如此动态,我选择使用 HTML5 的localStorage,并且我正在使用 JavaScript 做所有事情。
以下是它们的存储方式:
正在进行的收集:(由接收 ITEMNAME 的名为 addItem 的函数设置)
键:c_ITEMNAME_Storage
值:c_ITEMNAME
集合完成或错误:(由一个名为 editItem 的函数设置,该函数还接收 ITEMNAME 并更改相应键的值)
键:c_ITEMNAME_Storage
值:c_Finished_ITEMNAME 或 c_Error_ITEMNAME
最后 10 个集合中的集合(由一个名为 addItemLastCollections 的函数设置,该函数接收 ITEMNAME 并使用当前日期和时间准备密钥)
键:ORDERNUMBER_c_ITEMNAME_DATE_TIME
值:c_ITEMNAME
注意:订单号是从0到9,每次收集结束时收到数字0。同时,调用addItemLastCollections函数时删除数字9。
因为分析几乎相同,唯一改变的是“c”变成了“a”。
无论如何,我想你理解了这个想法,但如果有什么不清楚的地方,请告诉我。
我想要的是其他方法的意见和建议,因为我认为这是低效和不切实际的,即使它工作正常。我想要一些容易维护的东西。我认为坚持使用 localStorage 可能是最好的,但不是这样。我对 JavaScript 中设计模式的使用不是很熟悉,尽管我在 Java 中经常使用其中的一些。如果有人可以帮我解决这个问题,那就太好了。
编辑:即使是我也很难准确地解释为什么我觉得它效率低下。我想主要原因是因为对于每种情况(进度、完成、错误、上次集合)我必须调用一个方法并修改字符串(添加下划线和更多信息),并且让我访问任何数据(比如说,他们每个人的名称或日期)我需要测试以查看是哪种情况,然后继续使用split( _ )。我知道这不是很简单,但我想整个方法可以设计得更好。由于我独自在软件的这一部分工作,我没有可以与之讨论的任何人,所以我认为这里是一个交流想法的好地方 :)
提前致谢!