Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 3

2.8 Patrones Grasp.

En diseo orientado a objetos, GRASP son patrones generales de


software para asignacin de responsabilidades, es
el acrnimo de GRASP (object-oriented design General Responsibility
Assignment Software Patterns). Aunque se considera que ms
que patrones propiamente dichos, son una serie de buenas prcticas
de aplicacin recomendable en el diseo de software.

General Responsibility Assignment Software Patterns


(GRASP) nos da unos principios generales para asignar
responsabilidades y se utiliza sobre todo en la realizacin de
diagramas de interaccin.
Una vez que tenemos el Modelo de dominio hay que decidir qu
mtodos aadir y dnde (parte esencial del desarrollo OO)

Bsicamente las responsabilidades de un objeto son conocer y hacer.


Dichas responsabilidades implicarn ms o menos mtodos y clases.

Principales patrones GRASP:

1. Experto (en Informacin).

2. Creador.

3. Alta Cohesin.

4. Bajo Acoplamiento.

5. Controlador.

2.9 Patrones GoF.


Los patrones de diseo el grupo de GoF clasifican en 3 grandes
categoras basadas en su propsito: creacionales, estructurales y de
comportamiento.

Creacionales: tratan con las formas de crear instancias de objetos.


El objetivo de estos patrones es de abstraer el proceso de
instanciacin y ocultar los detalles de cmo los objetos son creados o
inicializados.
Object Pool (Conjunto de Objetos): Se obtienen objetos nuevos a
travs de la clonacin. Utilizado cuando el costo de crear una clase es
mayor que el de clonarla. Especialmente con objetos muy complejos.
Se especifica un tipo de objeto a crear y se utiliza una interfaz del
prototipo para crear un nuevo objeto por clonacin. El proceso de
clonacin se inicia instanciando un tipo de objeto de la clase que
queremos clonar.
Abstract Factory (Fbrica abstracta): Permite trabajar con objetos
de distintas familias de manera que las familias no se mezclen entre s
y haciendo transparente el tipo de familia concreta que se est
usando.
Builder (Constructor virtual): Abstrae el proceso de creacin de un
objeto complejo, centralizando dicho proceso en un nico punto.
Factory Method (Mtodo de fabricacin): Centraliza en una clase
constructora la creacin de objetos de un subtipo de un tipo
determinado, ocultando al usuario la casustica para elegir el subtipo
que crear.
Prototype (Prototipo): Crea nuevos objetos clonndolos de una
instancia ya existente.
Singleton (Instancia nica): Garantiza la existencia de una nica
instancia para una clase y la creacin de un mecanismo de acceso
global a dicha instancia.
Estructurales: Los patrones estructurales describen como las
clases y objetos pueden ser combinados para formar grandes
estructuras y proporcionar nuevas funcionalidades. Estos objetos
adicionados pueden ser incluso objetos simples u objetos compuestos.
Adapter (Adaptador): Adapta una interfaz para que pueda ser
utilizada por una clase que de otro modo no podra utilizarla.
Bridge (Puente): Desacopla una abstraccin de su implementacin.
Composite (Objeto compuesto): Permite tratar objetos compuestos
como si de uno simple se tratase.
Decorator (Envoltorio): Aade funcionalidad a una clase
dinmicamente.
Facade (Fachada): Provee de una interfaz unificada simple para
acceder a una interfaz o grupo de interfaces de un subsistema.
Flyweight (Peso ligero): Reduce la redundancia cuando gran
cantidad de objetos poseen idntica informacin.
Proxy: Mantiene un representante de un objeto.
Comportamiento: Los patrones de comportamiento ayudan a
definir la comunicacin e iteracin entre los objetos de un sistema. El
propsito de este patrn es reducir el acoplamiento entre los objetos.
Chain of Responsibility (Cadena de responsabilidad): Permite
establecer la lnea que deben llevar los mensajes para que los objetos
realicen la tarea indicada.
Command (Orden): Encapsula una operacin en un objeto,
permitiendo ejecutar dicha operacin sin necesidad de conocer el
contenido de la misma.
Interpreter (Intrprete): Dado un lenguaje, define una gramtica
para dicho lenguaje, as como las herramientas necesarias para
interpretarlo.
Iterator (Iterador): Permite realizar recorridos sobre objetos
compuestos independientemente de la implementacin de estos.
Mediator (Mediador): Define un objeto que coordine la
comunicacin entre objetos de distintas clases, pero que funcionan
como un conjunto.
Memento (Recuerdo): Permite volver a estados anteriores del
sistema.
Observer (Observador): Define una dependencia de uno-a-muchos
entre objetos, de forma que cuando un objeto cambie de estado se
notifique y actualicen automticamente todos los objetos que
dependen de l.
State (Estado): Permite que un objeto modifique su comportamiento
cada vez que cambie su estado interno.
Strategy (Estrategia): Permite disponer de varios mtodos para
resolver un problema y elegir cul utilizar en tiempo de ejecucin.
Template Method (Mtodo plantilla): Define en una operacin el
esqueleto de un algoritmo, delegando en las subclases algunos de sus
pasos, esto permite que las subclases redefinan ciertos pasos de un
algoritmo sin cambiar su estructura.
Visitor (Visitante): Permite definir nuevas operaciones sobre una
jerarqua de clases sin modificar las clases sobre las que opera.

También podría gustarte