美文网首页
勤之时 - 业务逻辑层

勤之时 - 业务逻辑层

作者: 启发禅悟 | 来源:发表于2017-03-22 19:41 被阅读156次

应用很早就上线了,欢迎大家下载使用:http://itunes.apple.com/app/id1206687109
源码已经公开,大家可以去https://github.com/Inspirelife96/ILDiligence下载。 喜欢的话Fork或者给个Star,非常感谢。
下面是这一系列的全部帖子:
想法和原型
勤之时 - 架构与工程组织结构
勤之时 - 数据持久层的实现
勤之时 - 网络层的实现
勤之时 - 业务逻辑层
勤之时 - Info.plist的改动
勤之时 - 表示层(一)
勤之时 - 表示层(二)
勤之时 - 表示层(三)
勤之时 - 表示层(四)
勤之时 - 表示层(五)

业务逻辑层是衔接数据持久层(网络层)与表示层的中间一层,他读取数据持久层的数据,经过业务处理,然后传递给表示层用与展示的数据。同样,当表示层操作使数据发生变化时,通过业务逻辑层将变化的数据保存到数据持久层。

因此,必不可少,我们在这里会处理所谓MVC模式里面M的部分。也许不是直接用于VC的Model,但至少是这一Model的基本来源。

【勤之时】的表示层主要有3个DataCenter和一些列的Model构成。

  • ILDTaskDataCenter
  • ILDDiligenceDataCenter
  • ILDStoryDataCenter
  • ILDTaskModel
  • ILDDiligenceModel
  • ILDStoryModel
  • ILDStatisticsTodayModel
  • ILDStatisticsHistoryModel

ILDTaskDataCenter 和 ILDTaskModel 主要向下面这些页面提供数据服务接口和数据模型。


TaskDataCenter.png

我们可以想到的功能是这些:

//获得所有的TaskId,用于任务一览的展示
- (NSArray *)taskIds;

//根据taskId获取对应的TaskModel,用于Task Configuration的展示/修改等。
- (ILDTaskModel *)taskConfigurationById:(NSString *)taskId;

//添加一个任务,并保存
- (void)addTask:(ILDTaskModel *)taskConfiguration;

//更新一个任务,并保存
- (void)updateTask:(NSString *)taskId taskConfiguration:(ILDTaskModel *)taskConfiguration;

//删除一个任务,并保存
- (void)removeTask:(NSString *)taskId;

ILDDiligenceDataCenter 和 ILDDiligenceModel,ILDStatisticsTodayModel, ILDStatisticsHistoryModel主要向下面这些页面提供数据服务接口和数据模型。


DiligenceCenter.png

我们可以想到的功能是这些:

//当任务计时完成,我们需要添加一条勤记录到数据持久层。
- (void)addDiligence:(ILDDiligenceModel *)diligenceData;

//当某一个任务删除时,需要把该任务对应的所有勤记录从数据持久层中删除。
- (void)removeDiligence:(NSString *)taskId;

//提供今日统计的数据模型。数据是基于数据持久层中的勤数据来统计的。
- (ILDStatisticsTodayModel *)prepareStatisticsToday;

//提供历史数据的数据模型。数据是基于数据持久层中的勤数据来统计的。
- (ILDStatisticsHistoryModel *)prepareStatisticsHistory;

ILDStoryDataCenter 和 ILDStoryModel主要向下面这些页面提供数据服务接口和数据模型。


StoryCenter.png

我们可以想到的功能是这些:

//提供今日故事模型
- (ILDStoryModel *)prepareStoryModel;

ILDTaskDataCenter, ILDDiligenceDataCenter, ILDStoryDataCenter读取对应的数据持久层的数据,根据业务逻辑,重新组装数据,提供给表示层使用,并负责对数据持久层的增删改操作。

这三个类都以单例的形式设计,因为在应用程序运行期间他们有且仅需要一份内容。

相关文章

网友评论

      本文标题:勤之时 - 业务逻辑层

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