1
resposta

[Dúvida] Tipo do database e instanciação

Olá, achei um pouco estranho o tipo do database e como é utilizado, acho que porque eu estudei Java, talvez, não entendi porque usar Map e o uso dos ids. Não entendi essa estrutura, parece que mistura dados da conta com dados do usuário :

 final Map<String, Account> _database = {};

Account accountSender = _database[idSender]!;
Account accountReceiver = _database[idReceiver]!;

Aqui o id do database é o objeto conta?

_database[id] = account;

1 resposta

Oi Gisele, tudo bem?

Desculpe a demora em retornar.

Entendo que a estrutura do database possa parecer um pouco confusa no início, especialmente se você está acostumada com Java. No Dart, o tipo Map é utilizado para representar uma coleção de pares chave-valor, onde a chave é única e usada para acessar o valor correspondente.

No exemplo que você compartilhou, o _database é um Map onde a chave é uma String (provavelmente o ID da conta) e o valor é um objeto do tipo Account. Portanto, o ID do database não é o objeto conta em si, mas sim a chave que é usada para acessar a conta correspondente dentro do Map.

Ao utilizar _database[id] = account;, você está adicionando um novo par chave-valor ao Map. A chave é o ID da conta e o valor é o objeto Account em si. Dessa forma, você pode acessar facilmente uma conta específica utilizando o ID correspondente como chave.

Quanto ao uso dos IDs, é uma prática comum em bancos de dados relacionais ou mesmo em estruturas de dados em geral. Os IDs são únicos e servem como identificadores para cada registro ou objeto. Eles permitem que você encontre facilmente um registro específico, mesmo que haja muitos outros no database.

Espero ter ajudado a esclarecer sua dúvida!

Um abraço e bons estudos.