В моем базовом понимании Stream
и sink
мы добавляем данные в приемник, чтобы передать их через поток, но чтобы добавить его, мы используем геттер вместо сеттера, который я считаю нелогичным (см. Пример ниже), не могли бы вы объяснить в простыми словами почему так, а не наоборот?
Пример:
class BlogPostViewModel {
StreamController<List<BlogPost>> _blogPostListController = StreamController.broadcast();
Stream<List<BlogPost>> get outBlogPostList => _blogPostListController.stream;
Sink<List<BlogPost>> get _inBlogPostList => _blogPostListController.sink; // Here why use get and not a setter?
}
Заранее спасибо.
set foo(int value) => _sink.add(value)
вместоSink<int> get foo => _sink
. Единственная разница в том, что у вас нет доступа кSink.close
, но это не имеет особого значения. - person Rémi Rousselet   schedule 19.07.2020