06 Librerias e Interfaces
Librerías e Interfaces
Introducción
¿Qué es una interfaz?
¿Qué es una librería?
¿Cómo funciona una librería?
Interfaz
Representa el límite entre dos entidades
distintas.
Al utilizar librerías debes de tener en cuenta 2
componentes:
Los programas clientes, los mismos que usan las
librerías
La implementación de las librerías, en donde se
especificacomo funciona internamente cada
función que esta implementa
La interfaz se refiere al limite entre la
implementación y los programas clientes
Interfaz
Al “invocar” o “llamar” a una función de una
librería desde nuestro código fuente (cliente), se
pasa información(argumentos) a su
implementación a través de la interfaz.
Una interfaz es el medio a través del cual el
programa cliente y lalibrería se comunican
Envía argumentos
Interfaz
Programa
Envía resultados
Librería
Archivos de Cabecera (header
files)
Al usar una función de librería, el cliente debe
conocer ciertos datos de la misma:
Nombre
Argumentos (tipos y cuantos)
Tipo de resultado que genera
Toda esta información se encuentra disponible en
el prototipo
El prototipo de una función de librería sepuede
encontrar en la interfaz de la misma
En este punto podemos deducir, que en C, el
concepto de interfaz se materializa en los
archivos de cabecera(*.h)
La interfaz entonces es la cara que la librería le
da al cliente
Paquetes
Las librerías siempre tienen un archivo de
cabecera
Pero esto no lo es todo
En la interfaz SOLO van los prototipos y
declaraciones
La implementación debe iren un archivo
“fuente”(*.c)
Para librerías muy completas y complejas se
necesitan mas de un archivo fuente
En conjunto todos estos archivos se conocen como
un “paquete”
Fundamentos de Programación
Creando Una Librería
Introducción
El uso de librerías es una herramienta poderosa
con la cual contamos como parte del lenguaje C
Estamos listos para diseñar nuestras propias
interfaces ycrear nuestras librerías
Lo importante aquí no es tanto el “como”, es mas
el hacerlo bien
Diseño De Una Interfaz
Las funciones y los procedimientos nos ayudan a
reducir la complejidad de los programas
Una interfaz le da a un programa, acceso a un
grupo de funciones
Para añadir una función a una interfaz, debemos
hacerlo con un cierto criterio
Criterios Para Diseñar una
interfaz
Unainterfaz bien diseñada, debe cumplir los
siguientes requisitos:
Unificación
Simplicidad
Suficiencia
Generalidad
Estabilidad
Unificación
Las funciones dentro de una librería, deben
ser escogidas, de acuerdo a un cierto tema
No seria lógico buscar sqrt en la librería
string.h, pues esta va mas acorde con el
enfoque de una librería matemática
La unificación también se refiere alenfoque
que se le da a un problema dentro de la
misma librería.
Simplicidad
Al diseñar una interfaz, el objetivo principal es reducir
la complejidad, a través del uso de ciertas funciones
Se trata de proteger al cliente de los detalles
complicados
La complejidad de la implementación se queda en el
lado del creador de la librería
Se “esconde” informacion del cliente, no se
mencionandetalles en la interfaz, ni siquiera a traves
de comentarios
Las funciones también deben ser diseñadas lo mas
simples posibles:
Reduciendo el numero de parámetros al mínimo
Limitando el total de funciones de la interfaz, para no abrumar
al cliente y confundirlo
Suficiencia
Que exista simplicidad, no implica que se debe
sacrificar la suficiencia
Al cliente se lo debe proveer dela mayor cantidad de
posibilidades de trabajo
Negarle a un cliente una posibilidad de trabajo es
fracasar en el diseño de una interfaz
Además de que las posibilidades estén disponibles,
estas deben funcionar eficientemente
El cliente debe poder confiar en que los resultados
dados por una librería, siempre serán correctos, y
que llegaran a el a tiempo
Estos detalles tienen mas que ver con la...
Regístrate para leer el documento completo.