菏泽软件开发 济宁软件开发
24小时客服热线:18678812288
赢德公告

如何避免构造应用中不必要的复杂性

投递人 ; 济宁软件开发  发布于2016年11月02日    有人阅读

   1. 菏泽软件开发避免根据服务端响应建模
   本地应用程序状态通常来自服务器。当应用程序用于显示从远程服务器到达的数据时,通常很容易保持响应数据的结构。
考虑一个电子商务网店管理应用的示例,商家使用此应用来管理商店库存,因此显示产品列表是一个关键功能。产品列表源自服务器,但需要将应用程序作为状态保存在本地,以便在视图内展现。
   服务器 API 的设计遵循不同的原则,不一定与你想要实现的应用程序状态结构一致。在这种情况下,服务器的数组结构选择可能与响应分页相关,将完整列表拆分为更小的块,因此客户端可以根据需要下载数据,并避免多次发送相同的数据以节省带宽。它们主要考虑的是网络问题,但一般来说,与我们的应用状态关注点无关。
    2. 首选映射而非数组
    一般来说,数组不便于状态的维护。考虑当特定产品需要更新或检索时会发生什么。例如,如果应用程序提供编辑价格功能,或者如果来自服务器的数据需要刷新,则可能面临的就是这种情况。遍历一个大的数组来查找特定的产品比根据它的 ID 查询这个产品要麻烦得多。
   那么推荐的方法是什么?软件开发培训使用主键为键值的映射类型做为查询的对象。
   3. 避免根据视图的需要进行建模
   应用程序状态的最终目的是展现到视图中,并让用户觉得是一种享受。把状态保存为视图需要的形式看上去很有诱惑力,因为这能避免对数据进行额外的转换操作。
让我们回到我们的电子商务商店管理示例。 假设每个产品都可以是库存或缺货两种状态之一。
   4. 避免在应用程式状态中保存重复的数据
   测试你的状态是否持有重复数据有一种好办法,就是检查是否需要同时更新两处数据来保证数据一致性。在上述缺货产品示例中,假设第一个产品突然变为缺货。 为了处理这个更新,我们必须将其在映射中的 outOfStock 字段更改为 true,并将其 ID 添加到数组 outOfStockProductIds 之中 - 两个更新。
   处理重复数据很简单。所有你需要做的是删除其中一个实例。这背后的推理源于一个单一真理:如果数据仅保存一次,则不再可能达到不一致的状态。

上一篇:5万元和50万元开发一个APP的区别在哪里?

下一篇:恭贺济宁任城区检察院阳光未检软件平台上线