我正在使用 CoreData 和 mogenerator 并尝试使用适当的抽象级别。我的应用程序处理来自不同来源的搜索、下载和播放不同类型的媒体文件(视频和音频)。每个媒体文件都有不同级别的元数据和不同的下载/播放方式。我创建了一个名为 IMediaObject 的协议,它具有所有媒体文件的最少数量的元数据(名称、作者等)和方法(下载、播放、停止等)。我的具体类将符合此协议并从 NSManagedObject 继承,与 CoreData 一起使用,并使用 mogenerator 创建/修改。
两个问题:
我在这里使用接口协议是否偏离了轨道?
我是否应该为 Core Data 的每种类型的媒体文件(ITunesPodcast、VimeoVideo、TumblrMP4 等)创建具体的类,因为它们的实现细节会有所不同?或者我应该为 Core Data 使用单个 MediaObject 具体类并使用属性来描述每种媒体类型之间的差异?
提前致谢