Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Despacho por nombre de archivo JS: Polimorfismo

Otra técnica interesante es el despacho por nombre de archivo.

En algunos sistemas, en lugar de tener un solo archivo con diferentes claves de configuración, se utilizan diferentes archivos que corresponden a diferentes entornos. Por ejemplo:

configs/
  database.development.json
  database.production.json
  database.test.json

En algún lugar del código fuente debe haber una parte que elige qué archivo cargar. A continuación, se muestra un código que utiliza el despacho por clave:

import fs from 'fs';

const configFileNamesByEnv = {
  development: 'database.development.json',
  production: 'database.production.json',
  test: 'database.test.json',
};

const filename = configFileNamesByEnv[env];
const raw = fs.readFileSync(filename);
const config = JSON.parse(raw);

Es fácil notar que, teniendo el nombre del entorno de ejecución, se puede construir un nombre de archivo adecuado. Así que vamos a hacerlo:

const filename = `database.${env}.json`;
const raw = fs.readFileSync(filename);
const config = JSON.parse(raw);

El código se ha vuelto mucho más corto y ya no requiere cambios al expandirse.

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY