Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre organização em código dos Futures e Streams

Olá. Minha dúvida é mais relacionada à organização de código mesmo. Sei que essa questão é bastante subjetiva, existem várias opções e às vezes cada projeto ou empresa adota sua própria convenção. Mas queria ter uma luz sobre como geralmente os Streams e Futures são organizados em código. São criadas classes "Streams "para armazenar todas as funções que retornarão Streams, e as funções que retornarão os Subscribers? E classes "Futures" para armazenar funções que retornarão os objetos do tipo Future. Ou isso é feito usando arquivos mesmo, em vez de classes?

Obrigado.

2 respostas
solução!

Olá, Eduardo!

Você está correto ao dizer que a organização do código é bastante subjetiva e pode variar de acordo com o projeto ou a empresa. No entanto, existem algumas práticas comuns que podem ser úteis.

Em relação aos Futures e Streams em Dart, eles são geralmente organizados com base na funcionalidade que estão realizando, em vez de serem separados em classes ou arquivos específicos apenas por serem Futures ou Streams.

Por exemplo, se você tem uma função que faz uma chamada de API e retorna um Future, você pode ter essa função em uma classe ou arquivo que lida com todas as chamadas de API. Da mesma forma, se você tem um Stream que está constantemente ouvindo as alterações em um banco de dados, você pode ter esse Stream em uma classe ou arquivo que lida com todas as operações do banco de dados.

Aqui está um exemplo prático:

// api.dart
class ApiService {
  Future<String> fetchData() {
    // Implementação da chamada de API
  }
}

// database.dart
class DatabaseService {
  Stream<List<String>> get data {
    // Implementação do ouvinte do banco de dados
  }
}

Nesse caso, ApiService e DatabaseService são classes que agrupam funções relacionadas, algumas das quais retornam Futures ou Streams.

Espero que isso dê uma luz sobre sua dúvida. Lembre-se, a organização do código deve, em última análise, facilitar a legibilidade e a manutenção do código.

Espero ter ajudado e bons estudos!

Muito obrigado! Ficou bastante claro!