1. Patrones de diseño
Un patrón es una solución a un problema
en un contexto específico, facilitan la
reutilización de diseños y arquitecturas
que ya han funcionado.
Hacen losprocesosmásclaro para que cualquierpersonaoindividuopuedamanejarlos
fácilmente.
Puedenserlabase para manualesde Ingenieríadel software.
Se comprende de maneramás fácil unsistemacuandose estádocumentado.
Ya que lospatronesse orientanal cambiopara anticiparse alosrequisitos,se debe
diseñarde tal maneraque losaspectospuedenvariar
Patrones arquitecturales
Dan un conjuntode
subsistemasyadefinidoparala
mayor organizaciónde ideas.
Ejemplos de patrones
Que son
Que hacen
Se clasificanen
Patrones de diseño
Dan el sistemabásicopara
estructurarsubsistemasy
componentes.
Patrones elementales
Describencomoimple los
componentesespecíficosde un
patrón.
1
2. 1
Método de Factoría
Este patrón nos da un ejemplo de la
creación de un objeto, es decir la clase
“Factoría” la utilizamos para crear un
objeto llamado “X”, este método nos
quiere decirque creamosunnuevoobjeto
para que cumpla una función específica y
así podemos liberar el objeto de realizar
aquellas cosas que no le corresponden,
pero que si son necesarias para su
creación.
Factoría Abstracta
De igual manera,lafactoría abstracta
nos permite crearconjuntoso
familiasde objetos,que dependenlos
unosde losotros,perotodo estosin
especificarcuál esel objeto concreto
Builder
El Builernospermite construirun
objetocomplejoespecificandosolosu
tipoy su contenido,ocultandotodos
losdetallesde laconstruccióndel
objeto. Loque hace escentralizar
dichoprocesoenun únicopunto, para
que así el procesode construcción
puedacrear representaciones
diferentes.
Singleton
Este patrón loque hace esrestringirlacreación
de objetos pertenecientesauna clase para que
así, solose tenga unainstanciaúnicade la clase
para toda la aplicación.Paraimplementaresta
clase se debe tenerunconstructorprivadoque
soloseaaccedidodesde lamismaclase,se debe
crear tambiénunainstanciaprivadade laclase y
un métodoestáticoque permitael accesoala
instanciaprivada.
2
3. 2
Adaptador
Nospermite usaruna clase ya
existenteenotraque esperanlos
clientes.Se puedereutilizaruna
clase aunque lainterfazno
correspondaexactamente conlo
requeridoporel sistema.
Bridge
Desmontaunaabstracciónde su
implementaciónasípueden
evolucionarlas2
independientementemejorando
la extensibilidad.
Proxy
Se usa cuando se necesita
referenciarunobjetomás
complejoque el punterooun
objeto, proxyremoto, que
oculta donde se encuentrael
objeto, proxyvirtual que
mejoralaeficiencia.
Composite
Representajerarquíasde objetos
parte-todo.Se puede tratarla
estructuray losobjetos
uniformementetambiénfacilita
la agregaciónde nuevasclasesde
componentesyhace el diseño
seamás general.
Decorador
Este permite asignar
responsabilidadesnuevasaun
objetoindividual ynoa todala
clase si afectar a otros objetos.
Se puede definirunaclase
sencillayañadirle características
mediante decoradoresytener
una mejorfuncionalidad
combinandopiezassimples.
3
4. 3
Método Template
Permite construirlaarquitectura
de un algoritmodejandolos
detallesalassubclasestambién
permite escribirpartesfijas y
definirlasque varíanestoayuda
a la reutilizacióndel código.
Estrategia
Define unafamiliade algoritmos,los
encapsulade tal maneraque se
pueda intercambiarunoporotro,
definiendounajerarquía.Elimina
instruccionescondicionalestambién
permite definirvarias
implementacionesdel mismo
comportamiento.