Modelo por capas
Dos caras de una estructura
Cada chat hace dos cosas distintas:
- Lo que promete: «puedes pedir el mensaje i», «puedes añadir un mensaje al final». A esa lista de operaciones, con lo que hace cada una, se le llama interfaz.
- Cómo lo guarda en memoria: los mensajes uno tras otro en un bloque, o cada uno en cualquier sitio con una nota que dice dónde está el siguiente. A eso se le llama representación.
Quien usa el chat solo ve la interfaz. El tiempo que tarda cada operación depende de la representación.
En la figura, la caja de arriba es la interfaz; los dos bloques de abajo son dos representaciones que la cumplen.
Una estructura de datos es una representación junto con el código de sus operaciones.