需求 #4048
打开Picasso.Auto.Parameter.SystemSettings改造
描述
在处理“更新自定义缺陷类型名称后,已打开的Recipe页面中显示的自定义缺陷类型名称无法同步更新”问题时,发现Picasso.Auto.Parameter.SystemSettings无法支持从后端绑定到页面。
现在的SystemSettings是个静态类,主要功能只是对SystemSettingsProvider的包装,意义其实不太大,页面可以直接调用SystemSettingsProvider。
在这个问题上:Recipe页面-->SystemSettings-->SystemSettingsProvider查询1次数据;系统设置窗口-->SystemSettings-->SystemSettingsProvider查询1次数据。在这种模式下,系统设置窗口和Recipe页面是断联的,只有通过消息等机制通知Recipe页面数据已经被更新。
可以给SystemSettings赋予缓存能力,将自定义缺陷等数据缓存到这个单例里,Recipe页面可以直接绑定这个缓存的数据,系统设置窗口更新数据库同时更新缓存,Recipe页面可以通过绑定直接获得更新后的数据(不再需要消息等机制通知页面刷新)。
如果有应用程序之外更新数据的场景,这个改造需求不成立。
由 于剑 更新于 大约 2 个月 之前
于剑 写到:
在处理“更新自定义缺陷类型名称后,已打开的Recipe页面中显示的自定义缺陷类型名称无法同步更新”问题时,发现Picasso.Auto.Parameter.SystemSettings无法支持
从后端绑定到页面将后端的更新绑定到页面。
现在的SystemSettings是个静态类,主要功能只是对SystemSettingsProvider的包装,意义其实不太大,页面可以直接调用SystemSettingsProvider。
在这个问题上:Recipe页面-->SystemSettings-->SystemSettingsProvider查询1次数据;系统设置窗口-->SystemSettings-->SystemSettingsProvider查询1次数据。在这种模式下,系统设置窗口和Recipe页面是断联的,只有通过消息等机制通知Recipe页面数据已经被更新。
可以给SystemSettings赋予缓存能力,将自定义缺陷等数据缓存到这个单例里,Recipe页面可以直接绑定这个缓存的数据,系统设置窗口更新数据库同时更新缓存,Recipe页面可以通过绑定直接获得更新后的数据(不再需要消息等机制通知页面刷新)。如果有应用程序之外更新数据的场景,这个改造需求不成立。