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;
     
       提示:在模型中合理地使用只读属性,可以进一步降低代码的耦合度; 可以把一些数据逻辑代码放在模型中,是代码更简洁
     
     
       模型嵌套模型和模型设计原则

  • 相关阅读:
    20201029-1 每周例行报告
    20201022-1 每周例行报告
    20201015-3 每周例行报告
    作业要求 20201008-1 每周例行报告
    《机器学习》第二次作业——第四章学习记录和心得
    实验 7:OpenDaylight 实验——Python 中的 REST API 调用
    实验 6:OpenDaylight 实验——OpenDaylight 及 Postman 实现流表下发
    实验 5:OpenFlow 协议分析和 OpenDaylight 安装
    实验 4:Open vSwitch 实验——Mininet 中使用 OVS 命令
    实验 3:Mininet 实验——测量路径的损耗率
  • 原文地址:https://www.cnblogs.com/1224dashen/p/5423057.html
Copyright © 2011-2022 走看看