JS: Abstracción de datos
Teoría: Introducción
Abstracción - la forma principal de lidiar con la complejidad en la programación. Permite alejarse de los detalles de implementación y centrarse en lo principal.
Un buen ejemplo de abstracción es una función de ordenación de matrices. No importa cómo esté implementada, lo importante es que produce un resultado que nos interesa.
Otro ejemplo son las funciones de orden superior, como map, filter y reduce, que permiten procesar colecciones sin conocer su estructura interna. Además, estas funciones se pueden escribir para estructuras tan complejas como árboles. Gracias a esta abstracción, podemos centrarnos en el procesamiento en sí, en lugar del proceso de recorrer los datos.
Por otro lado, los propios datos a menudo tienen una estructura compleja. La representación de un usuario en un sistema no trivial puede requerir la descripción de docenas o cientos de parámetros y datos relacionados. En esta situación, es útil ocultar esta estructura detrás de un conjunto de funciones, lo que ocultará la complejidad interna y simplificará el mantenimiento del código. Esto se llama abstracción mediante datos.
En este curso, aprenderemos algunos principios básicos de diseño de programas. Aprenderemos cómo modelar y representar objetos del mundo real (y ficticio) en un programa. El ejemplo de diseño será la creación de una biblioteca para trabajar con primitivas gráficas, como puntos, segmentos y figuras. Esta biblioteca es comprensible para todos (incluyendo visualmente) y se representa de manera muy simple en el código.
Los temas principales del curso son:
- Dominio del problema (Domain Model)
- Ontología
- Niveles de diseño (Barreras de abstracción)
- Invariantes
Cómo prepararse para este curso
La teoría y la práctica de este curso están dirigidas a aquellos que ya están familiarizados con el lenguaje JavaScript. Si tienes dificultades, te recomendamos que realices los siguientes cursos:
Es mejor realizarlos en un orden específico, desde lo más simple a lo más complejo y de lo general a lo particular. Para estudiar estos temas de manera secuencial, puedes unirte a los siguientes programas en Códica: