正确设计,以便为不同视图使用相同的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正确设计,以便为不同视图使用相同的数据相关的知识,希望对你有一定的参考价值。
我是企业界的新手,从设计的角度来看,如果我在这里做错了,请纠正我
我从Flickr API获取图像。
目标:以两种不同类型的视图,网格视图和列表视图显示这些图像。哪个可以通过幻灯片切换。
所以我使用的是一个带有两个片段的View寻呼机,这两个片段都有不同的监听器。因此,当响应来自Flickr时,这两个听众都会收到通知。
在我看来,这节省了两次调用REST API,但我正在寻找更高效的设计或流程
- 使用单个监听器
- 应该调用Rest API一次
- 结果应该是store(Just in ArrayList)并共享给两个视图
- 可能不会选择两个单独的片段
- 避免两次创建Adapter对象
- 图像应存储在缓存中
任何调整或建议都会有所帮助,如果您不理解任何部分或整个问题,请发表评论。
答案
对于上述问题,你正在思考的调整几乎是正确的。除下面之外:
我相信您必须创建两个不同的适配器才能更好地控制不同的视图。例如,您可能希望在列表视图中使用缩放类型裁剪中心显示图像,但在网格视图中显示缩放类型中心内部的图像。您可能想要执行不同类型的事情。因此,制作两个不同的适配器是一个很好的做法,以使代码更易于管理。
对于片段也是如此,看看两个片段中的动作是否相同,或者可以通过单个变量传递来完成。然后只用一个片段。
其余的东西都很完美。
以上是关于正确设计,以便为不同视图使用相同的数据的主要内容,如果未能解决你的问题,请参考以下文章
如果我有 2 个具有相同视图但逻辑不同的 Angular 组件,如何正确构建代码?
2022-01-25:序列化和反序列化 N 叉树。 序列化是指将一个数据结构转化为位序列的过程,因此可以将其存储在文件中或内存缓冲区中,以便稍后在相同或不同的计算机环境中恢复结构。 设计一个序列化和反