ios - 是直接使用字典来处理数据呢还是创建对应的Model来处理数据
大家讲道理
大家讲道理 2017-04-17 12:00:18
[iOS讨论组]

在群里讨论的时候讲到,有些人是直接使用字典来处理数据的,而我偏向于使用对应的Model。他们认为为每一个数据创建Model太浪费时间了,我认为使用字典的话维护性很低,可读性也很低。虽然需要花费时间去创建model,然而这个model并没有多复杂,而且也可以使用自动化工具来创建。

                    使用字典                      使用Model
增加了字段          在使用处增加            在Model中增加,在使用处使用

删除了字段        在使用处删除(但是没       在Model中删除,在是用处删除(会有编译器
                 有警告提醒还有没删除        警告)
                 的地方)

修改了字段        在使用处修改(多处)        在Model中修改
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(4)
ringa_lee

优劣问题虽然没有绝对的判断,但一个粗略的感觉还是可以有的。

最简单的一个依据就是:活数据用Model,死数据用字典

Model就是业务数据,每天走流水,添加删除频繁的。死数据就是常年不更新的固定条目,例如全国政区表、世界时区表。

就算用字典,也不要完全写死:

  • 略微遵守数据库设计的范式来。最起码key-value的二元架构还是必要的(以防由于错别字等原因,数据不变但显示文字略有改动)
  • 不要太粗糙,不要一个字典变量完事,而要封装为成型的helper/utility
  • 字典数据要动态加载,绝对不能直接硬塞到代码中(hard-code)

另一个想法就是:Model if you can, dictionary if you must. 总用Model肯定没有错,字典只用来最小限度的解决性能问题。

黄舟

个人感觉这样的问题,一般都是经验作答,2种方式通过分析来辩论,不如付诸实践,通过具体的业务来检验优劣,单一简单架构的我倾向字典,放到具体的业务对象里用model

PHP中文网

像这种优劣问题都没有绝对的答案,必须在给定的环境下才能得到满意的解决。

我比较赞同 @simapple 的回答,他给出了比较中肯的解释。

怪我咯

这个东西会有帮助的 http://liming.me/2014/01/16/dynamic-object-mapping-for-json/

利用objective-c的动态特性自动映射字典的键值对到Model的属性上

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号