jueves, 17 de marzo de 2011

Patrones de diseño


Son el esqueleto de las soluciones a problemas comunes en el desarrollo de software.

Patrones creacionales 

-Prototype

Especifica los tipos de objetos a crear por medio de una instancia prototípica, y crear nuevos objetos copiando este prototipo.

Tiene como finalidad crear nuevos objetos duplicándolos, clonando una instancia creada previamente.

Propone la creación de distintas variantes del objeto que nuestra aplicación necesite, en el momento y contexto adecuado. Toda la lógica necesaria para la decisión sobre el tipo de objetos que usará la aplicación en su ejecución debería localizarse aquí. Luego, el código que utiliza estos objetos solicitará una copia del objeto que necesite. En este contexto, una copia significa otra instancia del objeto. El único requisito que debe cumplir este objeto es suministrar la prestación de clonarse. Cada uno de los objetos prototipo debe implementar el método Clone().

 

Patrones estructurales

-Adapter

Se utiliza para transformar una interfaz en otra, de tal modo que una clase que no pudiera utilizar la primera, haga uso de ella a través de la segunda.
Convierte la interfaz de una clase en otra interfaz que el cliente espera. Adapter permite a las clases trabajar juntas, lo que de otra manera no podría hacerlo debido a sus interfaces incompatibles.

Usar el patrón Adapter cuando:
    * Se desea usar una clase existente, y su interfaz no se iguala con la necesitada.
    * Cuando se desea crear una clase reusable que coopera con clases no  relacionadas, es decir, las clases no tienen necesariamente interfaces compatibles.

Links:

http://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o

http://www.ingenierosoftware.com/analisisydiseno/patrones-diseno.php 

Diagrama de clases

Ejemplo de diagrama de clases en BOUML:


Click en la imagen para agrandar