Open danvitoriano opened 4 years ago
Boa noite professor. Gostaria de assumir esta tarefa. Obrigado Marcos de Menezes Souto Moura - RM 335907
Adicionado na issue @marcosautomacao ! Como o limite é 4 pessoas, ainda pode entrar mais 3, ok? Boa sorte!
Boa noite professor. Não seria o contrario, a issue #8 que tem dependencia com a issue #15?
Boa noite professor Eu conversei com o @marcosautomacao, e gostaria de saber se eu posso fazer parte desta tarefa também com ele. Lembrando que eu já estou com a issue #8, mas elas parecem ser correspondentes e se compor.
Se possível, colocar o @marcosautomacao também na #8.
Obrigado, boa noite.
Eu sugiro @jeanvillete e @marcosautomacao resolverem apenas a issue #8
O prazo já estourou, escolham a mais simples. Vou dar unassigned de vocês aqui.
No desafio de IndexedDB, aprendemos a interagir com o indexedDB, nós também incluímos e listamos negociações em uma Object Store.
Dúvidas e mais informações sobre IndexedDB podem ser encontradas no material da área do aluno Web_Moderna_Desafio_D_JavaScript.pdf.
Pensando na manutenção do nosso código, precisamos organizá-lo. Esta issue propõe a criação de uma ConnectionFactory para resolver a conexão com o nosso IndexedDB:
A) O método
getConnection()
será um método estático, ou seja, invocado diretamente na classe.B) O retorno de
getConnection
será uma promise, pois a abertura de uma conexão é um processo assíncrono.C) Não importa quantas vezes seja chamado o método
getConnection()
, a conexão retornada deve ser a mesma.D) Toda conexão possui o método
close()
, mas o programador não pode chamá-lo, porque a conexão é a mesma para a aplicação inteira. Só o próprioConnectionFactory
pode fechar a conexão.Para entender o que queremos dizer quando falamos que a conexão retornada pelo método
getConnection()
deve ser a mesma, usaremos um exemplo compreensível para aqueles que trabalham com aplicações Web ou Back end. Existe um pool de conexões, no qual várias conexões são compartilhadas com os usuários. Quando trabalhamos com o IndexedDB, é comum termos uma única conexão que será usada pela aplicação. Ao criarmos a chamada para ogetConnection
, ele nos dará a conexão e se fizermos a mesma solicitação novamente, o retorno deverá ser o mesmo. A conexão será compartilhada com toda a aplicação e, por isso, o métodoclose()
não poderá ser chamado novamente. Lembrando que só oConnectionFactory
terá o poder de fechar a conexão.O construtor de ConnectionFactory deve lançar uma erro caso alguém tente implementar essa classe.
A promise retornada pelo getConnection será responsável por lidar com os métodos
onupgradeneeded
,onsuccess
eonerror
.IMPORTANTE: Esta Issue pode ser resolvida com o arquivo
indexedDB.html
ou após a resolução da issue #8. Quem assumí-la, e escolher a segunda opção, precisará conversar com os responsáveis pela issue dependente, alinhar prazos, e ajudar se necessário no desenvolvimento da mesma.Para entender mais sobre o padrão de projeto Factory, leia o post no Medium Padrão de Projeto Factory. Você deve criar sua ConnectionFactory dentro da pasta /services.