Você está na página 1de 6

INGENIERIA DEL SOFTWAREII

PATRONES DE SISEO

Fernanda Arvalo Pincay


8.-A Facultad de Ciencias Informticas Universidad Tcnica de Manab

PATRONES DE DISEO

PATRONES DE DISEO
En la ingeniera de software, un patrn de diseo es una solucin repetible general a un problema que ocurre comnmente en el diseo de software. Un patrn de diseo no es un diseo de acabado que puede ser transformado directamente en cdigo. Es una descripcin o una plantilla para la forma de resolver un problema que se puede utilizar en muchas situaciones diferentes. Los patrones de diseo (design patterns) son la base para la bsqueda de soluciones a problemas comunes en el desarrollo de software y otros mbitos referentes al diseo de interaccin o interfaces. Un patrn de diseo es una solucin a un problema de diseo. Para que una solucin sea considerada un patrn debe poseer ciertas caractersticas. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reusable, lo que significa que es aplicable a diferentes problemas de diseo en distintas circunstancias.

Objetivos de los patrones


Los patrones de diseo pretenden: Proporcionar catlogos de elementos reusables en el diseo de sistemas software. Evitar la reiteracin en la bsqueda de soluciones a problemas ya conocidos y solucionados anteriormente. Formalizar un vocabulario comn entre diseadores. Estandarizar el modo en que se realiza el diseo. Facilitar el aprendizaje de las nuevas generaciones de diseadores condensando conocimiento ya existente.

Asimismo, no pretenden: Imponer ciertas alternativas de diseo frente a otras. Eliminar la creatividad inherente al proceso de diseo.

No es obligatorio utilizar los patrones, solo es aconsejable en el caso de tener el mismo problema o similar que soluciona el patrn, siempre teniendo en cuenta que en un caso particular puede no ser aplicable. "Abusar o forzar el uso de los patrones puede ser un error".

Categoras de patrones
Segn la escala o nivel de abstraccin: Patrones de arquitectura: Aquellos que expresan un esquema organizativo estructural fundamental para sistemas de software.

PATRONES DE DISEO Patrones de diseo: Aquellos que expresan esquemas para definir estructuras de diseo (o sus relaciones) con las que construir sistemas de software. Dialectos: Patrones de bajo nivel especficos para un lenguaje de programacin o entorno concreto.

Patrones de diseo Creacionales


En la ingeniera de software, patrones de diseo creacional son los patrones de diseo que tienen que ver con los mecanismos de creacin de objetos, tratando de crear dichos objetos de una manera adecuada a la situacin. La forma bsica de la creacin de objetos puede resultar en problemas de diseo o la complejidad aadida al diseo. Los Patrones de diseo Creacionales resuelven este problema de alguna manera el control de esta creacin de objetos.

Abstract Factory. Proporciona una interfaz para crear familias de objetos o que dependen entre s, sin especificar sus clases concretas. Builder. Separa la construccin de un objeto complejo de su representacin, de forma que el mismo proceso de construccin pueda crear diferentes representaciones. Factory Method. Define una interfaz para crear un objeto, pero deja que sean las subclases quienes decidan qu clase instanciar. Permite que una clase delegue en sus subclases la creacin de objetos. Prototype. Especifica los tipos de objetos a crear por medio de una instancia prototpica, y crear nuevos objetos copiando este prototipo. Singleton. Garantiza que una clase slo tenga una instancia, y proporciona un punto de acceso global a ella.

Patrones de diseo estructural


Estos patrones de diseo tienen que ver con la clase y la composicin de objetos. Los patrones de la clase de creacin Estructurales utilizan la herencia para componer interfaces.

PATRONES DE DISEO

Adapter. Convierte la interfaz de una clase en otra distinta que es la que esperan los clientes. Permiten que cooperen clases que de otra manera no podran por tener interfaces incompatibles. Bridge. Desvincula una abstraccin de su implementacin, de manera que ambas puedan variar de forma independiente. Composite. Combina objetos en estructuras de rbol para representar jerarquas de parte-todo. Permite que los clientes traten de manera uniforme a los objetos individuales y a los compuestos. Decorator. Aade dinmicamente nuevas responsabilidades a un objeto, proporcionando una alternativa flexible a la herencia para extender la funcionalidad. Facade. Proporciona una interfaz unificada para un conjunto de interfaces de un subsistema. Define una interfaz de alto nivel que hace que el subsistema se ms fcil de usar. Flyweight. Usa el compartimiento para permitir un gran nmero de objetos de grano fino de forma eficiente. Proxy. Proporciona un sustituto o representante de otro objeto para controlar el acceso a ste.

Patrones de diseo de comportamiento Estos patrones de diseo tienen que ver con la comunicacin de los objetos de clase. Patrones de comportamiento son los patrones que se ocupan ms especficamente de la comunicacin entre objetos.

Chain of Responsibility. Evita acoplar el emisor de una peticin a su receptor, al dar a ms de un objeto la posibilidad de responder a la peticin. Crea una cadena con los objetos receptores y pasa la peticin a travs de la cadena hasta que esta sea tratada por algn objeto. Command. Encapsula una peticin en un objeto, permitiendo as parametrizar a los clientes con distintas peticiones, encolar o llevar un registro de las peticiones y poder deshacer la operaciones.

PATRONES DE DISEO

Interpreter. Dado un lenguaje, define una representacin de su gramtica junto con un intrprete que usa dicha representacin para interpretar las sentencias del lenguaje. Iterator. Proporciona un modo de acceder secuencialmente a los elementos de un objeto agregado sin exponer su representacin interna. Mediator. Define un objeto que encapsula cmo interactan un conjunto de objetos. Promueve un bajo acoplamiento al evitar que los objetos se refieran unos a otros explcitamente, y permite variar la interaccin entre ellos de forma independiente. Memento. Representa y externaliza el estado interno de un objeto sin violar la encapsulacin, de forma que ste puede volver a dicho estado ms tarde. Observer. Define una dependencia de uno-a-muchos entre objetos, de forma que cuando un objeto cambia de estado se notifica y actualizan automticamente todos los objetos. State. Permite que un objeto modifique su comportamiento cada vez que cambia su estado interno. Parecer que cambia la clase del objeto. Strategy. Define una familia de algoritmos, encapsula uno de ellos y los hace intercambiables. Permite que un algoritmo vare independientemente de los clientes que lo usan. Template Method. Define en una operacin el esqueleto de un algoritmo, delegando en las subclases algunos de sus pasos. Permite que las subclases redefinan ciertos pasos del algoritmo sin cambiar su estructura. Visitor. Representa una operacin sobre los elementos de una estructura de objetos. Permite definir una nueva operacin sin cambiar las clases de los elementos sobre los que opera.

PATRONES DE DISEO WEB-GRAFIA http://sourcemaking.com/design_patterns http://es.wikipedia.org/wiki/Patrn_de_diseo http://www.ingenierosoftware.com/analisisydiseno/patronesdiseno.php