# data[].attributes.body
Proporciona una estructura clara: El modelo de entrada-proceso-salida ofrece una forma organizada de entender y diseñar sistemas, lo que facilita la identificación de componentes clave.

Facilita la identificación de requisitos: Permite identificar claramente los datos de entrada, el procesamiento necesario y los resultados esperados, lo que ayuda a comprender los requisitos del sistema.

Enfoque modular: Permite dividir el sistema en módulos más pequeños, lo que facilita el desarrollo, la depuración y el mantenimiento del sistema.

# data[].attributes.body
Los flujos de texto son secuencias de caracteres agrupados en líneas terminadas por el carácter de nueva línea

# data[].attributes.headline
Ejemplo guardando y cargando una estructura (struct) en binario 

# data[].attributes.subject
Ejemplo guardando y cargando una estructura (struct) en binario 

# data[].attributes.body
Todos los datos fluyen a través del ordenador desde una entrada hacia una salida. Este flujo de datos se denomina también stream. Hay un flujo de entrada (input stream) que manda los datos desde el exterior (normalmente el teclado) del ordenador, y un flujo de salida (output stream) que dirige los datos hacia los dispositivos de salida (la pantalla o un archivo).

# data[].attributes.attachment_link.title
Streams de entrada y salida en Java – Curso de Java IO

# data[].attributes.body
Un  flujo de entrada  gestiona los datos que entran  en  un programa. Un  flujo de salida  gestiona los datos que salen  de  un programa.

Son fundamentales en informática y se utilizan en diversos contextos para permitir la interacción entre los usuarios, los sistemas y los dispositivos

# data[].attributes.headline
Ejemplo guardando y cargando datos crudos (bytes) en un archivo binario 

# data[].attributes.subject
Ejemplo guardando y cargando datos crudos (bytes) en un archivo binario 

# data[].attributes.body
Flujos de entrada y salida | Saylor Academy . (sin fecha). https://learn.saylor.org/mod/book/tool/print/index.php?id=67510

Dominando la serialización y deserialización en Java | LabEx. (n.d.-c). LabEx. https://labex.io/es/tutorials/java-java-serialization-and-deserialization-117950?utm_source

Gewarren. (n.d.). Serialización: .NET. Microsoft Learn. https://learn.microsoft.com/es-es/dotnet/standard/serialization/

LUDA UAM-Azc. (n.d.). https://aniei.org.mx/paginas/uam/CursoIP/curso_ip_36.html#:~:text=Los%20flujos%20proporcionan%20una%20interfase,de%20nueva%20l%C3%ADnea%20(%5Cn).

https://www.studocu.com/es-mx/messages/question/7112228/ventajas-y-desventajas-del-modelo-de-entrada-proceso-salida

Flujos de datos. (n.d.). http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/archivos/flujos.htm#:~:text=Entrada%2Fsalida&text=Este%20flujo%20de%20datos%20se,la%20pantalla%20o%20un%20archivo

Rivera, D. (2022, September 6). Entrada y Salida en C. Pleets Blog. https://blog.pleets.org/article/es/entrada-y-salida-en-c

# data[].attributes.headline
¿Qué problemas puede traer deserializar un objeto con cambios en su definición?

# data[].attributes.subject
¿Qué problemas puede traer deserializar un objeto con cambios en su definición?

# data[].attributes.body
Incompatibilidad de versiones: Si se han añadido, eliminado o modificado campos en la clase, la deserialización puede fallar o producir objetos en estados inconsistentes.​

Excepciones en tiempo de ejecución: Cambios en la estructura de la clase pueden generar excepciones como InvalidClassException durante la deserialización.​

Pérdida de datos: Los campos nuevos no tendrán valores asignados al deserializar objetos antiguos, lo que puede llevar a comportamientos inesperados si no se manejan adecuadamente.​

Problemas de seguridad: La deserialización de objetos de clases modificadas puede ser explotada para ejecutar código malicioso si no se implementan medidas de seguridad adecuadas.

# data[].attributes.headline
¿Cuándo es un error usar un flujo de texto en lugar de uno binario?

# data[].attributes.subject
¿Cuándo es un error usar un flujo de texto en lugar de uno binario?

# data[].attributes.body
Manejo de datos no textuales: Si necesitas almacenar datos como imágenes, audio, video o estructuras complejas (por ejemplo, objetos serializados), un flujo de texto puede corromper la información debido a la interpretación incorrecta de bytes como caracteres.​

Precisión y eficiencia: Los flujos de texto pueden introducir errores al convertir datos numéricos, especialmente en representaciones de punto flotante, debido a diferencias en formatos y codificaciones. Además, los archivos de texto suelen ser más grandes que sus equivalentes binarios, lo que puede afectar el rendimiento y el uso de almacenamiento.​

Compatibilidad entre sistemas operativos: Los caracteres de nueva línea varían entre sistemas (por ejemplo, \n en Unix/Linux y \r\n en Windows). Usar flujos de texto puede causar problemas de compatibilidad al transferir archivos entre diferentes sistemas operativos.

# data[].attributes.wish_content.attachment_props.question
Es el flujo que manda los datos desde el exterior (normalmente el teclado) del ordenador

# data[].attributes.body
La serialización es el proceso de convertir el estado de un objeto en un formato que se pueda almacenar o transportar. El complemento de serialización es deserialización, que convierte una secuencia en un objeto. Juntos, estos procesos permiten almacenar y transferir datos.

# data[].attributes.wish_content.attachment_props.question
¿Que es la serialización en programación?

# data[].attributes.wish_content.attachment_props.poll_choices[].choice_text
Son secuencias de caracteres agrupados en líneas terminadas por el carácter de nueva línea

# data[].attributes.wish_content.attachment_props.poll_choices[].choice_text
Es el proceso de convertir el estado de un objeto en un formato que se pueda almacenar o transportar.

# data[].attributes.wish_content.attachment_props.poll_choices[].choice_text
 Un flujo que dirige los datos hacia los dispositivos de salida 

# data[].attributes.headline
Ejemplo de una clase que guarde sus atributos usando métodos serializar y deserializar

# data[].attributes.subject
Ejemplo de una clase que guarde sus atributos usando métodos serializar y deserializar

# data[].attributes.body
Benemérita Universidad Autónoma de Puebla

Ing. en Ciencias de la Computación

Clase:

Programación Avanzada

NRC :45448

Sección: 007

TAREA:

LPOO. Elementos Avanzados - Flujo de entrada/salida

Profesora:

Elvia Ríos González

Alumnos:

Juan Manuel Garcia Hernandez 202434394

Edgar Alonso Minor Acoltzi 202438211

# data[].attributes.body
Simplificación excesiva: Puede simplificar en exceso la comprensión de sistemas complejos, lo que podría llevar a una falta de representación precisa de la realidad.

No considera retroalimentación: El modelo no aborda adecuadamente la retroalimentación o los bucles de control, lo que puede ser problemático en sistemas que requieren interacción continua.

No es adecuado para todos los sistemas: Algunos sistemas, especialmente aquellos altamente interactivos o con múltiples fuentes de entrada, pueden no adaptarse bien a este modelo lineal.