是直接使用字典来处理数据呢还是创建对应的Model来处理数据

发布于 2022-08-28 00:41:52 字数 435 浏览 19 评论 0

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

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

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

修改了字段        在使用处修改(多处)        在Model中修改

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

终遇你 2022-09-04 00:41:52

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

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

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

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

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

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

最美不过初阳 2022-09-04 00:41:52

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

戈亓 2022-09-04 00:41:52

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

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

开始看清了 2022-09-04 00:41:52

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文