Febrero 14, 2025
Patrones de
Software
Docente: Jhonatan Andres Mideros Narvaez
Semestre: Cuarto
Recordemos
Conceptos vistos en la anterior clase
Patrones Patrones Patrones de
Creacionales Estructurales Comportamiento
2
Patrones de Software
Introducción a la
POO
Patrones de Software
Definiciones
La programación orientada a objetos
Cada objeto tiene atributos (datos) y
es un paradigma de programación que
métodos (funciones) que operan sobre
se basa en la idea de organizar el
esos datos.
código en “objetos".
4
Patrones de Software
POO: Clases
Una clase es una plantilla o un
"molde" que define la estructura y el
comportamiento de los objetos.
Define atributos (variables) y métodos
(funciones) que los objetos de esa
clase tendrán.
5
Patrones de Software
POO: Objetos
Un objeto es una instancia concreta
de una clase. Contiene datos
(atributos) y puede realizar acciones
(métodos).
6
Patrones de Software
POO: Encapsulamiento
Es el principio de ocultar los detalles
internos de implementación de un
objeto y proporcionar una interfaz
clara para interactuar con él. Se logra
mediante el uso de modificadores
de acceso (public, private, protected)
y métodos getter y setter.
7
Patrones de Software
POO: Herencia
Permite que una clase herede
atributos y métodos de otra clase. Es
útil para reutilizar código y crear una
jerarquía de clases.
8
Patrones de Software
POO: Polimorfismo
Significa "muchas formas". Permite
que un objeto de una clase pueda
comportarse como un objeto de otra
clase en función del contexto. Se
logra a través de la herencia y la
implementación de interfaces.
9
Patrones de Software
POO: abstracción
En la abstracción, creamos clases
que encapsulan los atributos (datos)
y métodos (comportamientos)
esenciales de un objeto, mientras que
ocultamos los detalles internos. Por
ejemplo, si estamos modelando un
automóvil, podríamos abstraer solo
los atributos y métodos relevantes,
como la velocidad.
10
Patrones de Software
POO: interfaces
Es un conjunto de métodos que
define un contrato que una clase
debe cumplir. En otras palabras, es
una lista de métodos que una clase
debe implementar. Las interfaces
permiten establecer un contrato
entre distintas partes del código sin
preocuparse por los detalles de
implementación.
11
Patrones de Software
Estructura de una Interfaz
12
Patrones de Software
Practica POO
Recursos IDE
Online-java
[Link]
14
Patrones de Software
Ejemplo de POO
15
Patrones de Software
Patrón Singleton
Patrones de Software
Definiciones
El patrón Singleton es un patrón de
Este patrón es útil cuando deseas
diseño creacional que garantiza que
asegurarte de que solo haya una
una clase tenga una única instancia y
instancia de una clase en toda tu
proporciona un punto de acceso global
aplicación, como en casos de
a esa instancia.
configuración global, conexiones a
bases de datos, registros, entre otros.
17
Patrones de Software
El patrón Singleton se compone de los
siguientes elementos:
Constructor privado: Para evitar que otras clases instancien directamente la clase
Singleton, su constructor debe ser privado.
Método estático de obtención de instancia: Se proporciona un método estático que
devuelve la única instancia de la clase. Si la instancia aún no existe, se crea; si ya existe, se
devuelve la instancia existente.
Instancia única: La instancia de la clase Singleton debe ser almacenada en una variable
estática para que pueda ser compartida por todas las llamadas al método de obtención.
18
Patrones de Software
Ejemplo de una clase Singleton
19
Patrones de Software
Practica del
Patron Singleton
Patrones de Software
Ejemplo Logger con Singleton
21
Patrones de Software
Taller sobre
Patron Singleton
PILAS
Patrones de Software
Taller de Patron Singleton aplicado
en un caso de estudio real
Seleccione un caso de estudio de
la vida real donde pueda aplicar el
patrón Singleton. El script debe
ser realizado en java.
23