【发布时间】:2020-12-20 18:14:24
【问题描述】:
我有一个名为DatabaseService 的非常大的类,用于获取、缓存和更新各种数据流。我现在尝试将每个逻辑数据块分成单独的文件,以便于管理。但是,我想通过仅提供一个 DatabaseService 文件来保持所有方法和流的可访问性。
我的DatabaseService 有这些不同的方法组和数据流,我将它们分成单独的文件:
- 用户
- 饲料
- 故事
- 评论
困难在于每组数据都依赖于来自其他组数据的流。 例如,cmets 需要故事提要,等等: 评论
我的第一次迭代看起来像这样:
class DatabaseService {
// Here, i expose the various streams from each subclass
Stream<User> userStream = UserService.instance.userStream;
Stream<Feed> feedStream = FeedService.instance.feedStream;
Stream<Stories> storiesStream = StoriesService.instance.storiesStream;
Stream<Comments> commentsStream = CommentsService.instance.commentsStream;
...
DatabaseService() {
}
当我必须将数据推送到每个子服务并公开多个方法时,或者如果我需要相互访问方法时,事情很快就会变得一团糟。
我研究过使用 mixins,它看起来很棒,但我无法访问从一个子类到另一个子类的流。
有没有更好的方法来做到这一点?
【问题讨论】: