SlideShare ist ein Scribd-Unternehmen logo
1 von 25
TECNOLÓGICO NACIONAL DE MÉXICO
Ingeniería en Sistemas Computacionales
Tópicos Avanzados de Programación
Unidad II: Componentes y Librerías
Este material didáctico fue desarrollado para la asignatura de Tópicos Avanzados de Programación,
del plan SCD-1027 2016 de Ing. En Sistemas Computacionales
Competencia: Diseña e implementa componentes y librerías para lograr la
reutilización de código.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
¿Qué es una biblioteca o librería?
TÓPICOS AVANZADOS DE PROGRAMACIÓN
A diferencia de un programa ejecutable, el comportamiento que
implementa una biblioteca no espera ser utilizada de forma
autónoma (un programa sí: tiene un punto de entrada principal),
sino que su fin es ser utilizada por otros programas,
independientes y de forma simultánea.
En informática, una biblioteca (del inglés library) es un conjunto de
implementaciones de comportamiento, escritas para un lenguaje de
programación, que tienen una interfaz bien definida para el
comportamiento que se invoca.
Una biblioteca pueden requerir de otras para funcionar, pues el
comportamiento que definen refina, o altera, el comportamiento
de la biblioteca original; o bien la hace disponible para otra
tecnología o lenguaje de programación.
La mayoría de los sistemas operativos modernos proporcionan
bibliotecas que implementan los servicios del sistema. De esta
manera, estos servicios se han convertido en una "materia prima"
que cualquier aplicación moderna espera que el sistema operativo
ofrezca.
Como tal, la mayor parte del código utilizado por las aplicaciones
modernas se ofrece en estas bibliotecas.
TÓPICOSAVANZADOSDEPROGRAMACIÓN
TÓPICOS AVANZADOS DE PROGRAMACIÓN
La mayoría de los sistemas operativos modernos proporcionan bibliotecas
que implementan los servicios del sistema. De esta manera, estos servicios se
han convertido en una "materia prima" que cualquier aplicación moderna
espera que el sistema operativo ofrezca.
Como tal, la mayor parte del código utilizado por las aplicaciones modernas
se ofrece en estas bibliotecas.
Tipos de bibliotecas
• Bibliotecas Estáticas: Históricamente, las bibliotecas sólo podían ser estáticas.
Una biblioteca estática, también conocido como archivo es un fichero
contenedor con varios archivos de código objeto empaquetados, que en el
proceso de enlazado durante la compilación serán copiados y relocalizados (si
es necesario) en el archivo ejecutable final, junto con el resto de archivos de
código objeto.
• En este caso, la biblioteca actúa simplemente como un recipiente para
archivos de código objeto que no se diferencian (más que semánticamente)
de los archivos objeto intermedios producidos durante la etapa previa de
compilación del programa.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Bibliotecas dinámicas: Las bibliotecas dinámicas, vinculadas
dinámicamente, o de vínculos dinámicos son archivos que contienen código
objeto construido de forma independiente a su ubicación de tal modo que
están preparadas para poder ser requeridas y cargadas en tiempo de
ejecución por cualquier programa, en lugar de tener que ser enlazadas,
previamente, en tiempo de compilación.
• Por tanto, han de estar disponibles como ficheros independientes al
programa ejecutable (generalmente en directorios del sistema).
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Un archivo DLL (Dynamic Library Link) es un módulo
componente de un programa que ejecuta alguna
función. Estos archivos DLL son muy útiles, pero
también suelen ser causa de errores en Windows.
Los archivos DLL ejecutan acciones o rutinas de uso
frecuente en Windows, y un mismo archivo DLL
puede ser usado por varios programas al mismo
tiempo.
Por ejemplo el procesador de palabras, la hoja de
cálculo y otros programas pueden usar un mismo
archivo DLL para desplegar el cuadro diálogo Abrir,
cada vez que usted usa el comando Abrir.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Gracias a ese esquema modular, hay muchas funciones que los creadores
de software no tienen que incluir en sus programas; cuando un programa
necesita enviar un documento a la impresora, simplemente llama el
archivo DLL respectivo (que ya Windows instaló) para que este cargue y
ejecute la tarea. De esa forma, los programas son más pequeños y se
ahorra espacio en el disco duro.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• El hecho de que estos módulos de rutinas (Archivos DLL) no sean parte de
programas, sino que se guardan como archivos independientes, también
optimiza el uso de la memoria RAM.
• Un DLL se carga en la memoria RAM y se ejecuta únicamente cuando un
programa lo llama para que realice una función, mientras que otros
módulos de rutinas que sí hacen parte del programa permanecen
cargados en la memoria mientras trabaja con un programa.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Windows incluye muchos archivos DLL que son usados por otros
programas (la mayoría en la carpeta c:windowssystem). Pero algunos
programas también instalan sus propios archivos DLL (y generalmente los
colocan en la carpeta del disco duro en la que está guardado dicho
programa).
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Como diferentes programas deben compartir los mismo DLL, si
algunos programas no respetan ciertas reglas del juego se pueden
producir errores.
A veces uno instala programas que colocan una versión vieja de un
archivo DLL en la carpeta c:windowssystem y remplazan sin
avisar la versión más reciente del mismo DLL. Al hacer eso, es
posible que se produzcan fallas en los programas que usaban.
No todos los archivos DLL tienen extensión .dll; también hay
archivos del mismo tipo con extensiones .ocx, .exe, .drv, .vxd, etc.
TÓPICOSAVANZADOSDEPROGRAMACIÓN Observaciones en el manejo de DLL
Nota: En Windows XP no es posible reemplazar un archivo DLL del sistema, ya que
este se dará cuenta y automáticamente copiara el DLL correcto.
Cuando Windows le muestre un mensaje de error que dice que le falta un DLL:
• Anote el nombre exacto del archivo (incluyendo la extensión),
• Busque el archivo en cualquiera de los sitios de Microsoft o del software en
cuestión,
• Descárguelo y cópielo en la carpeta en la que lo está buscando el programa
que generó el mensaje de error (probablemente c:windowssystem o la
carpeta en la que está almacenado el programa).
• Pruebe su aplicación de nuevo en el punto donde ocurrió el error.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Tenga en cuenta que puede haber versiones diferentes de Archivos DLL, pero
con un nombre idéntico. Se recomienda no remplazar un DLL por una
versión más vieja (para saber que versión tiene un DLL, busque el archivo, dé
clic derecho sobre él, seleccione propiedades y dé clic en la pestaña
Versión).
• Lo mejor es que siempre guarde en un dispositivo extraíble o alguna parte
de sus disco duro el DLL que va a reemplazar (incluso aunque sea de una
versión más vieja). Uno nunca sabe qué programa lo pueda necesitar.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Windows File Protection [WFP]
• Windows FIle Protection (WFP) protege los archivos DLL del sistema de ser
actualizadas o borradas por agentes no autorizados. Las aplicaciones no
pueden sustituir las DLLs del sistema. Únicamente los paquetes de
actualización del sistema operativo como los SP (Service Packs) pueden
hacer esto.
• Los archivos DLL del sistema que pueden ser únicamente actualizadas por
los Service Pack (SP) se denominan DLLs protegidas. Hay aproximadamente
2800 DLLs protegidas (en Windows XP).
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Windows File Protection [WFP]
• Si intentamos copiar un archivo DLL idéntico a uno protegido en el
directorio del sistema, el reemplazo del archivo DLL, aparentemente,
parecerá que es correcta y no veremos ningún mensaje de error. Pero
Windows XP recuperarán el archivo DLL recientemente copiado con el
archivo DLL original silenciosamente.
• WFP elimina completamente los errores de los archivos DLL y además
minimiza los problemas causados por instalación y/o actualización de
aplicaciones.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Pasos para crear una DLL (librería dinámica)
• Inicie Visual Studio.
• En el menú Archivo, elija Nuevo y haga clic en Proyecto.
• En el cuadro de diálogo Nuevo proyecto, en el panel Tipos de proyecto,
asegúrese de haber seleccionado Windows.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• En el panel Plantillas,
seleccione Class Library.
• En el cuadro Nombre,
escriba EjemploDLL y, a
continuación, haga clic
en Aceptar. Se crea el nuevo
proyecto.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Se creará el código default de la DLL
• Crear estructura DLL (libre
dependiendo de la aplicación)
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Crear un proyecto independiente (libre dependiendo de la
necesidad)
• Lo siguiente será crear un proyecto independiente, pero en el que
necesitaremos utilizar la DLL que hemos creado. En este caso un proyecto
básico del tipo Windows Forms, o bien un proyecto de consola
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Referenciar nuestra Dll (registrar)
• Para poder utilizar nuestra Dll, es preciso
referenciarla, por lo que iremos a
Referencias y añadiremos una nueva
Referencia (que no será System, ni Com), si
no que iremos a buscarla mediante el
browser.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Ejercicio:
Crear biblioteca dinámica que contenga las 4 operaciones matemáticas
básicas en números enteros, dicha biblioteca deberá ser referenciada a la
aplicación de CALCULADORA que se hizo en la segunda unidad de esta
materia, por lo que cada una de esas operaciones deberá realizarse desde la
biblioteca a partir de ahora.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Proyecto; Crear una aplicación de agenda que contenga los siguientes campos:
• Nombre:
• Teléfono:
• Fecha de Nacimiento:
• Red social:
Adicionalmente crear una librería con las siguientes características:
• Pantalla de login al sistema: debe aceptar usuario y clave.
• El usuario y clave puede validarse ya sea por medio de un archivo de texto, y
deben permanecer encriptados (se debe crear la pantalla para guardar clave y
usuario cifrados en el archivo, y también para extraerlos y descifrarlos).
• La clave debe contener al menos una letra minúscula, una letra mayúscula, un
número, y un carácter especial (!, #, $, %, &, /, ¡, *).
TÓPICOS AVANZADOS DE PROGRAMACIÓN
La forma de acceder a la agenda es
por medio de la pantalla de login al
sistema que debe ser llamada desde
la librería creada previamente.
Bibliografía
• Patrick LeBlanc. 2015. Microsoft Visual C# 2013 Step by Step. EE. UU. Octal
Publishing, Inc. ISBN: 978-0-7356-8183-5.
TÓPICOS AVANZADOS DE PROGRAMACIÓN

Weitere ähnliche Inhalte

Was ist angesagt?

Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria EstaticaJ M
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasJ M
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajesPedro Contreras Flores
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 
Tareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosTareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosnenyta08
 
Teoria de automatas y lenguajes formales
Teoria de automatas y lenguajes formalesTeoria de automatas y lenguajes formales
Teoria de automatas y lenguajes formalesUniversidad del Valle
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasJosé Antonio Sandoval Acosta
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosMayra Romero
 

Was ist angesagt? (20)

control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria Estatica
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajes
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
3.creacion de componentes visuales
3.creacion de componentes visuales3.creacion de componentes visuales
3.creacion de componentes visuales
 
2. El proceso del software
2. El proceso del software2. El proceso del software
2. El proceso del software
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Tareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosTareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientos
 
Teoria de automatas y lenguajes formales
Teoria de automatas y lenguajes formalesTeoria de automatas y lenguajes formales
Teoria de automatas y lenguajes formales
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
 
Modelo espiral
Modelo espiralModelo espiral
Modelo espiral
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 

Andere mochten auch

Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilJosé Antonio Sandoval Acosta
 
Unidad 2 tópicos avanzados de programacion
Unidad 2 tópicos avanzados de programacionUnidad 2 tópicos avanzados de programacion
Unidad 2 tópicos avanzados de programacionIrving Che
 
Tópicos avanzados de programación eventos
Tópicos  avanzados  de programación   eventosTópicos  avanzados  de programación   eventos
Tópicos avanzados de programación eventosKanddy Mobylml
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónJosé Antonio Sandoval Acosta
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...José Antonio Sandoval Acosta
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...José Antonio Sandoval Acosta
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareJosé Antonio Sandoval Acosta
 
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioTopicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioJosé Antonio Sandoval Acosta
 
Matemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericosMatemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericosJosé Antonio Sandoval Acosta
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosFundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
investigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasinvestigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasAnel Sosa
 
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...José Antonio Sandoval Acosta
 
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionFundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionJosé Antonio Sandoval Acosta
 
Tema 4.3.1. Actividad 2: Instrumentos de Evaluación
Tema 4.3.1. Actividad 2: Instrumentos de EvaluaciónTema 4.3.1. Actividad 2: Instrumentos de Evaluación
Tema 4.3.1. Actividad 2: Instrumentos de EvaluaciónJosé Antonio Sandoval Acosta
 

Andere mochten auch (20)

Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
Unidad 2 tópicos avanzados de programacion
Unidad 2 tópicos avanzados de programacionUnidad 2 tópicos avanzados de programacion
Unidad 2 tópicos avanzados de programacion
 
Tópicos avanzados de programación eventos
Tópicos  avanzados  de programación   eventosTópicos  avanzados  de programación   eventos
Tópicos avanzados de programación eventos
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
 
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioTopicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
 
Como hacer un Mapa Mental
Como hacer un Mapa MentalComo hacer un Mapa Mental
Como hacer un Mapa Mental
 
Matemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericosMatemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericos
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosFundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
 
Matemáticas Discretas - Unidad 2 Conjuntos
Matemáticas Discretas - Unidad 2 ConjuntosMatemáticas Discretas - Unidad 2 Conjuntos
Matemáticas Discretas - Unidad 2 Conjuntos
 
investigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasinvestigacion unidad tres componentes y librerias
investigacion unidad tres componentes y librerias
 
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
 
Elaboracion de mapas conceptuales
Elaboracion de mapas conceptualesElaboracion de mapas conceptuales
Elaboracion de mapas conceptuales
 
Sesion12-componentes Visuales java
Sesion12-componentes Visuales javaSesion12-componentes Visuales java
Sesion12-componentes Visuales java
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionFundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
 
Tema 4.3.1. Actividad 2: Instrumentos de Evaluación
Tema 4.3.1. Actividad 2: Instrumentos de EvaluaciónTema 4.3.1. Actividad 2: Instrumentos de Evaluación
Tema 4.3.1. Actividad 2: Instrumentos de Evaluación
 

Ähnlich wie Tópicos Avanzados de Programación - Unidad 2 componentes y librerias

Apis Windows
Apis WindowsApis Windows
Apis Windowssgam_00
 
Apis Windows2
Apis Windows2Apis Windows2
Apis Windows2sgam_00
 
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...Alex Pin
 
1.introduccion a la programación
1.introduccion a la programación1.introduccion a la programación
1.introduccion a la programaciónMarina Vintimilla
 
411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdfxavazque2
 
Eclipse java en_espanol
Eclipse java en_espanolEclipse java en_espanol
Eclipse java en_espanolANTHONY OCHOA
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipseariannalizeeth
 
Mi primera-hora-con-eclipse Tutorial
Mi primera-hora-con-eclipse TutorialMi primera-hora-con-eclipse Tutorial
Mi primera-hora-con-eclipse TutorialMarthaa Hdz
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipseJose Nava
 

Ähnlich wie Tópicos Avanzados de Programación - Unidad 2 componentes y librerias (20)

Apis Windows
Apis WindowsApis Windows
Apis Windows
 
Api Web
Api WebApi Web
Api Web
 
Apis Windows2
Apis Windows2Apis Windows2
Apis Windows2
 
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
 
1.introduccion a la programación
1.introduccion a la programación1.introduccion a la programación
1.introduccion a la programación
 
Ejecutables
EjecutablesEjecutables
Ejecutables
 
Programacion Basica
Programacion Basica Programacion Basica
Programacion Basica
 
linux44
linux44linux44
linux44
 
411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf
 
Curso de delphi
Curso de delphiCurso de delphi
Curso de delphi
 
Tutorial de-c
Tutorial de-cTutorial de-c
Tutorial de-c
 
Tutorial de-c
Tutorial de-cTutorial de-c
Tutorial de-c
 
Eclipse java en_espanol
Eclipse java en_espanolEclipse java en_espanol
Eclipse java en_espanol
 
Tutorial eclipse
Tutorial eclipseTutorial eclipse
Tutorial eclipse
 
Tutorial 3
Tutorial 3Tutorial 3
Tutorial 3
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipse
 
Mi primera-hora-con-eclipse Tutorial
Mi primera-hora-con-eclipse TutorialMi primera-hora-con-eclipse Tutorial
Mi primera-hora-con-eclipse Tutorial
 
Tutorial 3
Tutorial 3Tutorial 3
Tutorial 3
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipse
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipse
 

Mehr von José Antonio Sandoval Acosta

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

Mehr von José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Kürzlich hochgeladen

analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5juanjoelaytegonzales2
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...WeslinDarguinHernand
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internamengual57
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJOJimyAMoran
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
Suelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramientoSuelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramientoluishumbertoalvarezv1
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosRamiroCruzSalazar
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosisauVillalva
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxwilliam801689
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdfsmendozap1
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxmiguelmateos18
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptReYMaStERHD
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptxNancyJulcasumaran
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfELIZABETHCRUZVALENCI
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfGabrielCayampiGutier
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 

Kürzlich hochgeladen (20)

analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
Suelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramientoSuelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramiento
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptx
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.ppt
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 

Tópicos Avanzados de Programación - Unidad 2 componentes y librerias

  • 1. TECNOLÓGICO NACIONAL DE MÉXICO Ingeniería en Sistemas Computacionales Tópicos Avanzados de Programación Unidad II: Componentes y Librerías Este material didáctico fue desarrollado para la asignatura de Tópicos Avanzados de Programación, del plan SCD-1027 2016 de Ing. En Sistemas Computacionales
  • 2. Competencia: Diseña e implementa componentes y librerías para lograr la reutilización de código. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 3. ¿Qué es una biblioteca o librería? TÓPICOS AVANZADOS DE PROGRAMACIÓN A diferencia de un programa ejecutable, el comportamiento que implementa una biblioteca no espera ser utilizada de forma autónoma (un programa sí: tiene un punto de entrada principal), sino que su fin es ser utilizada por otros programas, independientes y de forma simultánea. En informática, una biblioteca (del inglés library) es un conjunto de implementaciones de comportamiento, escritas para un lenguaje de programación, que tienen una interfaz bien definida para el comportamiento que se invoca.
  • 4. Una biblioteca pueden requerir de otras para funcionar, pues el comportamiento que definen refina, o altera, el comportamiento de la biblioteca original; o bien la hace disponible para otra tecnología o lenguaje de programación. La mayoría de los sistemas operativos modernos proporcionan bibliotecas que implementan los servicios del sistema. De esta manera, estos servicios se han convertido en una "materia prima" que cualquier aplicación moderna espera que el sistema operativo ofrezca. Como tal, la mayor parte del código utilizado por las aplicaciones modernas se ofrece en estas bibliotecas. TÓPICOSAVANZADOSDEPROGRAMACIÓN
  • 5. TÓPICOS AVANZADOS DE PROGRAMACIÓN La mayoría de los sistemas operativos modernos proporcionan bibliotecas que implementan los servicios del sistema. De esta manera, estos servicios se han convertido en una "materia prima" que cualquier aplicación moderna espera que el sistema operativo ofrezca. Como tal, la mayor parte del código utilizado por las aplicaciones modernas se ofrece en estas bibliotecas.
  • 6. Tipos de bibliotecas • Bibliotecas Estáticas: Históricamente, las bibliotecas sólo podían ser estáticas. Una biblioteca estática, también conocido como archivo es un fichero contenedor con varios archivos de código objeto empaquetados, que en el proceso de enlazado durante la compilación serán copiados y relocalizados (si es necesario) en el archivo ejecutable final, junto con el resto de archivos de código objeto. • En este caso, la biblioteca actúa simplemente como un recipiente para archivos de código objeto que no se diferencian (más que semánticamente) de los archivos objeto intermedios producidos durante la etapa previa de compilación del programa. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 7. • Bibliotecas dinámicas: Las bibliotecas dinámicas, vinculadas dinámicamente, o de vínculos dinámicos son archivos que contienen código objeto construido de forma independiente a su ubicación de tal modo que están preparadas para poder ser requeridas y cargadas en tiempo de ejecución por cualquier programa, en lugar de tener que ser enlazadas, previamente, en tiempo de compilación. • Por tanto, han de estar disponibles como ficheros independientes al programa ejecutable (generalmente en directorios del sistema). TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 8. Un archivo DLL (Dynamic Library Link) es un módulo componente de un programa que ejecuta alguna función. Estos archivos DLL son muy útiles, pero también suelen ser causa de errores en Windows. Los archivos DLL ejecutan acciones o rutinas de uso frecuente en Windows, y un mismo archivo DLL puede ser usado por varios programas al mismo tiempo. Por ejemplo el procesador de palabras, la hoja de cálculo y otros programas pueden usar un mismo archivo DLL para desplegar el cuadro diálogo Abrir, cada vez que usted usa el comando Abrir. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 9. • Gracias a ese esquema modular, hay muchas funciones que los creadores de software no tienen que incluir en sus programas; cuando un programa necesita enviar un documento a la impresora, simplemente llama el archivo DLL respectivo (que ya Windows instaló) para que este cargue y ejecute la tarea. De esa forma, los programas son más pequeños y se ahorra espacio en el disco duro. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 10. • El hecho de que estos módulos de rutinas (Archivos DLL) no sean parte de programas, sino que se guardan como archivos independientes, también optimiza el uso de la memoria RAM. • Un DLL se carga en la memoria RAM y se ejecuta únicamente cuando un programa lo llama para que realice una función, mientras que otros módulos de rutinas que sí hacen parte del programa permanecen cargados en la memoria mientras trabaja con un programa. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 11. • Windows incluye muchos archivos DLL que son usados por otros programas (la mayoría en la carpeta c:windowssystem). Pero algunos programas también instalan sus propios archivos DLL (y generalmente los colocan en la carpeta del disco duro en la que está guardado dicho programa). TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 12. Como diferentes programas deben compartir los mismo DLL, si algunos programas no respetan ciertas reglas del juego se pueden producir errores. A veces uno instala programas que colocan una versión vieja de un archivo DLL en la carpeta c:windowssystem y remplazan sin avisar la versión más reciente del mismo DLL. Al hacer eso, es posible que se produzcan fallas en los programas que usaban. No todos los archivos DLL tienen extensión .dll; también hay archivos del mismo tipo con extensiones .ocx, .exe, .drv, .vxd, etc. TÓPICOSAVANZADOSDEPROGRAMACIÓN Observaciones en el manejo de DLL Nota: En Windows XP no es posible reemplazar un archivo DLL del sistema, ya que este se dará cuenta y automáticamente copiara el DLL correcto.
  • 13. Cuando Windows le muestre un mensaje de error que dice que le falta un DLL: • Anote el nombre exacto del archivo (incluyendo la extensión), • Busque el archivo en cualquiera de los sitios de Microsoft o del software en cuestión, • Descárguelo y cópielo en la carpeta en la que lo está buscando el programa que generó el mensaje de error (probablemente c:windowssystem o la carpeta en la que está almacenado el programa). • Pruebe su aplicación de nuevo en el punto donde ocurrió el error. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 14. • Tenga en cuenta que puede haber versiones diferentes de Archivos DLL, pero con un nombre idéntico. Se recomienda no remplazar un DLL por una versión más vieja (para saber que versión tiene un DLL, busque el archivo, dé clic derecho sobre él, seleccione propiedades y dé clic en la pestaña Versión). • Lo mejor es que siempre guarde en un dispositivo extraíble o alguna parte de sus disco duro el DLL que va a reemplazar (incluso aunque sea de una versión más vieja). Uno nunca sabe qué programa lo pueda necesitar. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 15. Windows File Protection [WFP] • Windows FIle Protection (WFP) protege los archivos DLL del sistema de ser actualizadas o borradas por agentes no autorizados. Las aplicaciones no pueden sustituir las DLLs del sistema. Únicamente los paquetes de actualización del sistema operativo como los SP (Service Packs) pueden hacer esto. • Los archivos DLL del sistema que pueden ser únicamente actualizadas por los Service Pack (SP) se denominan DLLs protegidas. Hay aproximadamente 2800 DLLs protegidas (en Windows XP). TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 16. Windows File Protection [WFP] • Si intentamos copiar un archivo DLL idéntico a uno protegido en el directorio del sistema, el reemplazo del archivo DLL, aparentemente, parecerá que es correcta y no veremos ningún mensaje de error. Pero Windows XP recuperarán el archivo DLL recientemente copiado con el archivo DLL original silenciosamente. • WFP elimina completamente los errores de los archivos DLL y además minimiza los problemas causados por instalación y/o actualización de aplicaciones. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 17. Pasos para crear una DLL (librería dinámica) • Inicie Visual Studio. • En el menú Archivo, elija Nuevo y haga clic en Proyecto. • En el cuadro de diálogo Nuevo proyecto, en el panel Tipos de proyecto, asegúrese de haber seleccionado Windows. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 18. • En el panel Plantillas, seleccione Class Library. • En el cuadro Nombre, escriba EjemploDLL y, a continuación, haga clic en Aceptar. Se crea el nuevo proyecto. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 19. • Se creará el código default de la DLL • Crear estructura DLL (libre dependiendo de la aplicación) TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 20. Crear un proyecto independiente (libre dependiendo de la necesidad) • Lo siguiente será crear un proyecto independiente, pero en el que necesitaremos utilizar la DLL que hemos creado. En este caso un proyecto básico del tipo Windows Forms, o bien un proyecto de consola TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 21. Referenciar nuestra Dll (registrar) • Para poder utilizar nuestra Dll, es preciso referenciarla, por lo que iremos a Referencias y añadiremos una nueva Referencia (que no será System, ni Com), si no que iremos a buscarla mediante el browser. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 22. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 23. Ejercicio: Crear biblioteca dinámica que contenga las 4 operaciones matemáticas básicas en números enteros, dicha biblioteca deberá ser referenciada a la aplicación de CALCULADORA que se hizo en la segunda unidad de esta materia, por lo que cada una de esas operaciones deberá realizarse desde la biblioteca a partir de ahora. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 24. Proyecto; Crear una aplicación de agenda que contenga los siguientes campos: • Nombre: • Teléfono: • Fecha de Nacimiento: • Red social: Adicionalmente crear una librería con las siguientes características: • Pantalla de login al sistema: debe aceptar usuario y clave. • El usuario y clave puede validarse ya sea por medio de un archivo de texto, y deben permanecer encriptados (se debe crear la pantalla para guardar clave y usuario cifrados en el archivo, y también para extraerlos y descifrarlos). • La clave debe contener al menos una letra minúscula, una letra mayúscula, un número, y un carácter especial (!, #, $, %, &, /, ¡, *). TÓPICOS AVANZADOS DE PROGRAMACIÓN La forma de acceder a la agenda es por medio de la pantalla de login al sistema que debe ser llamada desde la librería creada previamente.
  • 25. Bibliografía • Patrick LeBlanc. 2015. Microsoft Visual C# 2013 Step by Step. EE. UU. Octal Publishing, Inc. ISBN: 978-0-7356-8183-5. TÓPICOS AVANZADOS DE PROGRAMACIÓN