Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como creación

Código limpio para crear diferentes objetos JSX dependiendo de un discriminante

  ¿Cómo puedo organizar mejor un código que se ocupa de la creación de muchos objetos basado en la concatenación de varios operadores ?: (ternary operator) evaluando un discriminante y creando uno u otro objeto según el discriminante? Muy buena pregunta, Gabriel 👌. Cuando el código empieza a tener muchos operadores ternarios concatenados para decidir qué objeto crear, la legibilidad y el mantenimiento se vuelven un problema. Hay varias formas más limpias y escalables de organizarlo: 🔹 1. Usar un mapa de discriminantes a constructores En vez de encadenar ternarios, podés definir un objeto/diccionario que mapea el discriminante a la función creadora: ts type Discriminante = "A" | "B" | "C"; const factories: Record<Discriminante, () => Objeto> = { A: () => new ObjetoA(), B: () => new ObjetoB(), C: () => new ObjetoC(), }; function crearObjeto(tipo: Discriminante): Objeto { return factories[tipo](); } 👉 Ventaja: agregar un nuevo t...