设计模式 - 在Realm中复制对象以生成静态数据

时间:2018-01-12 05:22:06

标签: swift database-design realm

我是Realm Swift的新手。我做了某种Realm图形对象(似乎适用于大多数人)和一个UI模型来解释你当前设计的问题。

UI工作流程示例

Menu workflow

  1. 用户访问他创建的锻炼列表并选择一个。
  2. 用户根据所选的锻炼开始训练。
  3. 用户完成锻炼,然后获取摘要页面。
  4. 稍后,用户可以访问过去的培训课程列表。
  5. 用户可以选择特定会话以查看其进展情况。
  6. 领域图表对象表示

    Realm graph object

    我当前的问题

    我当前图模型的问题与' TrainingSession对象'有关。我需要静态数据来生成图表和统计数据。

    WorkoutSession对象与包含动态内容的对象具有关系,因为我可以执行以下操作:

    • 用户可以随时删除锻炼或更改其名称等
    • 用户可以在锻炼中添加或删除锻炼

    通过更改锻炼或其嵌套对象(练习,训练等),它将改变训练课程中显示的信息(屏幕⑤)。 E.g:

    1. 去除锻炼A的屏幕②中的俯卧撑。
    2. 在屏幕⑤中检查具有锻炼A的特定会话,然后将删除俯卧撑。
    3. 途径

      我真的不知道该如何处理它?正如您可能猜到的那样,我正在尝试减少重复数据,因此我提出了以下解决方案:

      1. 将所有相关对象复制到workoutSession(锻炼,练习等),但如果我每次创建会话时都这样做,那将是巨大的。
      2. 创建某种锻炼/锻炼版本系统,因此训练课程总是参考锻炼/锻炼的特定版本。锻炼实际上就像蓝图一样。
      3. 我希望我的视觉解释足够有用。如果你觉得你需要我添加一些领域代码,我会这样做(但我不能分享我正在研究的项目)。

        提前感谢您的宝贵帮助;)

0 个答案:

没有答案