美文网首页
VO -- ValueObject

VO -- ValueObject

作者: FeelYoung | 来源:发表于2016-03-04 09:02 被阅读0次
    • 在绝大部分情况下,我们软件所使用的、所产生的数据,终将储存在数据库中。ValueObject,可以说是对数据库表的一种抽象。下面以“猜城市”为例,简单讲述下我是如何处理这种数据结构的。

    • 首先,数据库(SQLite)创建这么一张表:


      Paste_Image.png

      它包含数据主键ID、城市名称、城市简称、城市图片名称四个字段。
      创建SQL语句如下

    create table city(cityid integer primary key, name text, simplename text, imagename text)
    
    • 其次,我们将其转化成ValueObject:
    #import <Foundation/Foundation.h>
    
    @interface CityVO : NSObject
    
    @property (nonatomic) int cityID;
    @property (copy, nonatomic) NSString* name;
    @property (copy, nonatomic) NSString* imageName;
    @property (copy, nonatomic) NSString* simpleName;
    
    - (id)init;
    - (id)initWithID:(int)cityid WithName:(NSString*)cityname WithSimpleName:(NSString*)simplename WithImageName:(NSString*)imagename;
    
    @end
    

    可见,这个类中“至少”包含了对应数据表中的所有字段。当然,我们可以添加其他属性(比如说主子表);我们也可以添加其他方法(比如说获取表名findTableName)。

    • 最后,我们实现一个类,对这个VO进行数据操作:
    #import <Foundation/Foundation.h>
    #import "CityVO.h"
    @import UIKit;
    
    @interface CityDAO : NSObject
    
    - (NSMutableArray<CityVO*>*)getCityDB;
    - (CityVO*)getCityByID:(int)cityid;
    - (UIImage*)getIamgeFromCity:(CityVO*)cityVO;
    
    @end
    

    这个类中实现了三个基本方法:获取所有城市的数据、通过城市ID获取数据、通过VO获取城市图片。具体的实现方法,请看<a href="http://www.jianshu.com/p/2d00e8af498f/">SQLite简单运用</a>。

    相关文章

      网友评论

          本文标题:VO -- ValueObject

          本文链接:https://www.haomeiwen.com/subject/wldokttx.html