zoukankan      html  css  js  c++  java
  • 字典转模型

     字典转模型:
       
       一个新的技术是为了解决某个问题或者优化某个技术而产生的.那么字典转模型是为了解决为什么问题而产生的呢?
     
          1.写代码的时候,如果直接用数组或者字典的话,需要多次使用,可能会因为不小心把键名写错,而程序并不报错。鉴于此,可以考虑把字典数据转换成一个模型,把数据封装到一个模型中去,让viewController不再直接和数据打交道,而是和模型交互。
     
          2.一般情况下,设置数据和取出数据都使用“字符串类型的key”,编写这些key时,编辑器没有智能提示,需要手敲。如:
     
              dict[@"name"] = @"Jack";  手敲字符串key,key容易写错
     
            Key如果写错了,编译器不会有任何警告和报错,造成设错数据或者取错数据
     
          3.字典跟模型的优缺点比较:
     
             1>字典在使用key的时候Xcode不会有提示,容易出错,模型就不会
             
             2>①所谓模型,其实就是数据模型,专门用来存放数据的对象,用它来表示数据会更加专业
             
               ②模型设置数据和取出数据都是通过它的属性,属性名如果写错了,编译器会马上报错,因此,保证了数据的正确性
             
               ③使用模型访问属性时,编译器会提供一系列的提示,提高编码效率
     
       字典转模型的好处:
     
            (1)降低代码的耦合度

            (2)所有字典转模型部分的代码统一集中在一处处理,降低代码出错的几率

            (3)在程序中直接使用模型的属性操作,提高编码效率

            (4)调用方不用关心模型内部的任何处理细节
     
     
       字典转模型的注意事项:
     
          1.模型应该提供一个可以传入字典参数的构造方法和对应的类方法
     
              - (instancetype)initWithDict:(NSDictionary *)dict;
     
              + (instancetype)xxxWithDict:(NSDictionary *)dict;
     
       提示:在模型中合理地使用只读属性,可以进一步降低代码的耦合度; 可以把一些数据逻辑代码放在模型中,是代码更简洁
     
     
       模型嵌套模型和模型设计原则

  • 相关阅读:
    被 5 整除的数
    天才的主意
    天才的主意
    谷歌浏览器 —— 快捷键(vimium:像使用 vim 一样操作当前页面)
    谷歌浏览器 —— 快捷键(vimium:像使用 vim 一样操作当前页面)
    膨胀和腐蚀操作中的不同结构元效果对比
    水果的辨异
    水果的辨异
    推理集 —— 特殊与差异
    推理集 —— 特殊与差异
  • 原文地址:https://www.cnblogs.com/1224dashen/p/5423057.html
Copyright © 2011-2022 走看看