1. Ficheros e intercambio de datos¶
1.1. ¿De qué va este tema?¶
Conservaremos datos de una aplicación en ficheros, elegiremos formas de acceso y convertiremos formatos de intercambio. Separaremos el almacenamiento del dominio mediante un componente con comportamiento comprobable.
Dedicación orientativa: unas 28 horas. El tiempo que necesites dependerá de tus conocimientos previos y de las dificultades que encuentres.
Punto de partida: programación orientada a objetos y tratamiento básico de excepciones.
1.2. Clases¶
1.2.1. Rutas, ficheros y directorios¶
Ruta absoluta y relativa, directorio de trabajo y existencia del recurso.
Archivo, directorio y permisos de acceso.
Actividad
Crear, recorrer, copiar, mover y eliminar.
Comprobación previa, excepción y liberación de recursos.
Actividad
1.2.2. Elegir cómo acceder a un fichero¶
Texto y binario; byte, carácter, codificación y flujo.
Separación entre dato y representación.
Actividad
Acceso secuencial y aleatorio: posición, registro y coste conceptual.
Tamaño fijo frente a texto variable; ventajas y límites según el uso.
Actividad
1.2.3. Leer y escribir con flujos¶
Apertura, lectura hasta fin, decodificación y cierre.
Archivo vacío, lectura parcial y contenido truncado.
Actividad
Creación, sustitución, anexado y escritura controlada.
Comprobación de ida y vuelta y cierre también ante errores.
Actividad
1.2.4. Representar datos en CSV y JSON¶
CSV: esquema, tipos, delimitadores, escapes y valores ausentes.
Reconstrucción de objetos desde filas y validación de datos.
Actividad
JSON: objetos, colecciones, jerarquías y tipos.
Serialización y deserialización; parsear no es validar reglas de negocio.
Actividad
1.2.5. Convertir formatos sin perder información¶
Representación intermedia y correspondencia de tipos.
Aplanamiento, pérdidas de estructura y decisiones de conversión.
Actividad
Conversión CSV/JSON y ejemplo mínimo XML de intercambio.
Lectura, escritura y comprobación de campos y valores conservados.
Actividad
1.2.6. Validación y recuperación ante errores¶
Errores de acceso, sintaxis y datos; detección, propagación y comunicación.
Responsabilidad de cada capa ante el fallo.
Actividad
Liberación garantizada, interrupción y escritura parcial.
Preservación del archivo válido y recuperación controlada.
Actividad
1.2.7. Un componente de persistencia¶
Contrato, implementación y dependencias.
Ventajas, límites y herramientas para desarrollar un componente reutilizable.
Actividad
Propiedades, atributos y configuración del componente.
Eventos: asociación de una acción a una notificación de operación.
Actividad
1.2.8. Probar y documentar la persistencia¶
Casos normales, límites y fallos; aislamiento de archivos de prueba.
Resultados esperados, ejecución y comprobación reproducible.
Actividad
Documentación de contrato, configuración, errores y eventos.
Empaquetado básico y ejemplo de uso desde otro cliente.
Actividad
Test de autoevaluación
Actividad final integradora