You are on page 1of 3

Patrones de diseo - Diseo de Software Orientado a Objetos

Patrones de creacin

Abstract Factory. Proporciona una interfaz para crear familias de objetos o ue dependen entre s!" sin especificar sus clases concretas. #uilder. Separa la construccin de un objeto complejo de su representacin" de forma ue el mismo proceso de construccin pueda crear diferentes representaciones. Factory $et%od. Define una interfaz para crear un objeto" pero deja ue sean las subclases uienes decidan u& clase instanciar. Permite ue una clase dele'ue en sus subclases la creacin de objetos. Prototype. (specifica los tipos de objetos a crear por medio de una instancia protot!pica" y crear nue)os objetos copiando este prototipo. Sin'leton. *arantiza ue una clase slo ten'a una instancia" y proporciona un punto de acceso 'lobal a ella.

Patrones estructurales

Adapter. +on)ierte la interfaz de una clase en otra distinta ue es la ue esperan los clientes. Permiten ue cooperen clases ue de otra manera no podr!an por tener interfaces incompatibles. #rid'e. Des)incula una abstraccin de su implementacin" de manera ue ambas puedan )ariar de forma independiente. +omposite. +ombina objetos en estructuras de ,rbol para representar jerar u!as de parte-todo. Permite ue los clientes traten de manera uniforme a los objetos indi)iduales y a los compuestos. Decorator. Aade din,micamente nue)as responsabilidades a un objeto" proporcionando una alternati)a fle-ible a la %erencia para e-tender la funcionalidad. Facade. Proporciona una interfaz unificada para un conjunto de interfaces de un subsistema. Define una interfaz de alto ni)el ue %ace ue el subsistema se m,s f,cil de usar. Flywei'%t. .sa el compartimiento para permitir un 'ran n/mero de objetos de

'rano fino de forma eficiente.

Pro-y. Proporciona un sustituto o representante de otro objeto para controlar el acceso a &ste.

Patrones de comportamiento

+%ain of 0esponsibility. ()ita acoplar el emisor de una peticin a su receptor" al dar a m,s de un objeto la posibilidad de responder a la peticin. +rea una cadena con los objetos receptores y pasa la peticin a tra)&s de la cadena %asta ue esta sea tratada por al'/n objeto. +ommand. (ncapsula una peticin en un objeto" permitiendo as! parametrizar a los clientes con distintas peticiones" encolar o lle)ar un re'istro de las peticiones y poder des%acer la operaciones. 1nterpreter. Dado un len'uaje" define una representacin de su 'ram,tica junto con un int&rprete ue usa dic%a representacin para interpretar las sentencias del len'uaje. 1terator. Proporciona un modo de acceder secuencialmente a los elementos de un objeto a're'ado sin e-poner su representacin interna. $ediator. Define un objeto ue encapsula cmo interact/an un conjunto de objetos. Promue)e un bajo acoplamiento al e)itar ue los objetos se refieran unos a otros e-pl!citamente" y permite )ariar la interaccin entre ellos de forma independiente. $emento. 0epresenta y e-ternaliza el estado interno de un objeto sin )iolar la encapsulacin" de forma ue &ste puede )ol)er a dic%o estado m,s tarde. Obser)er. Define una dependencia de uno-a-muc%os entre objetos" de forma ue cuando un objeto cambia de estado se notifica y actualizan autom,ticamente todos los objetos. State. Permite ue un objeto modifi ue su comportamiento cada )ez ue cambia su estado interno. Parecer, ue cambia la clase del objeto. Strate'y. Define una familia de al'oritmos" encapsula uno de ellos y los %ace intercambiables. Permite ue un al'oritmo )ar!e independientemente de los clientes ue lo usan. 2emplate $et%od. Define en una operacin el es ueleto de un al'oritmo" dele'ando en las subclases al'unos de sus pasos. Permite ue las subclases

redefinan ciertos pasos del al'oritmo sin cambiar su estructura.

3isitor. 0epresenta una operacin sobre los elementos de una estructura de objetos. Permite definir una nue)a operacin sin cambiar las clases de los elementos sobre los ue opera.

You might also like