JavaScriptObjetosdesafio

ORM simples

Em sistemas reais, muitas vezes você precisa gerenciar coleções de dados em memória sem um banco de dados. O padrão Repository, implementado com closures, encapsula o armazenamento e fornece operações CRUD padronizadas. Dominar essa técnica permite criar protótipos funcionais e código testável que imita comportamentos de banco de dados.

O PROBLEMA

Crie criarTabela() com inserir, buscar, atualizar, deletar, listarTodos.

EXEMPLO

const usuarios = criarTabela("usuarios");
usuarios.inserir({nome:"Ana"}) → {id:1,nome:"Ana"}

SOBRE O CONCEITO

A função criarTabela cria uma closure que mantém um array tabela e um contador idCounter. Cada método retornado (inserir, buscar, etc.) acessa esses dados encapsulados. Para inserir, você deve usar const novo = { ...dados, id: idCounter++ } e adicioná-lo ao array. O erro comum de não gerar um id único quebra a integridade dos dados: sem um identificador exclusivo, não é possível atualizar ou deletar registros específicos. Use find para buscar por id, filter para deletar, e map para atualizar. Lembre-se de retornar uma cópia ou referência adequada; o uso de ...spread é permitido para criar novos objetos.

RESOLUÇÃO

Mais exercícios de Objetos

JSO011 · IntermediárioFactory functionJSO001 · BásicoCriar objeto simplesJSO003 · BásicoMétodo no objetoJSO006 · BásicoDesestruturação de objeto
Ver todos os exercícios de JavaScript