我想问一个我面临的问题:我有两个类,Photo和RemotePhoto,它代表使用手机相机拍摄的照片和下载的照片。RemotePhoto继承自Photo,因为它需要重新定义相同的逻辑。
我将两种照片类型信息都保存到数据库中,在一个名为Photo的表中,因为它们共享相同的详细信息,并使用一列作为标志来区分它们。我使用 DAO 从 DB 获取照片信息。
问题是:
如果一行引用本地照片应该映射到Photo类,否则使用RemotePhoto,我该如何管理这一事实?我想在 DAO 实现中做出这样的区分,但我想知道是否有一些缺点。我还想知道是否可以利用一些 ObjectiveC 特性以一种优雅的方式完成这一任务(所以,也许,我可以学到一些新东西;)。
最后,如果有人遇到类似的问题,我也对一些不同的 DB 组织提案感兴趣:直到现在我还没有在 DB 上保存远程照片信息,所以我及时更新 DB 模式 :)!