Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

PATRONES GRASP

EXPERTO: Es el principio básico de asignación de responsabilidades lo cual nos indica la responsabilidad de la creación
by

gabriel lopez

on 7 November 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of PATRONES GRASP

Patrones GRASP Es el principio básico de asignación de responsabilidades lo cual nos indica la responsabilidad de la creación de un objeto o la implementación de un método que recae sobre la clase que conoce toda la información necesaria para crearlo. La responsabilidad de realizar una labor es de la clase que tiene o puede tener los datos involucrados (atributos) . Una clase, contiene toda la información necesaria para realizar la labor que tiene encomendada. Hay que tener en cuenta que esto es aplicable mientras estemos considerando los mismos aspectos del sistema:


Lógica de negocio
Persistencia a la base de datos
Interfaz de usuario
Otra definición ¿Cuál es el principio fundamental en virtud del cual se asignan las responsabilidades en el diseño O.O? El Problema Un modelo de clases puede definir N clases de software, y una aplicación tal vez requiera el cumplimiento de N responsabilidades.
Durante el Diseño O.O, cuando se definen las interacciones entre los objetos se toman decisiones sobre la asignación de responsabilidades a clases. Si se hacen en forma adecuada, los sistemas tienden a ser más fáciles de entender, mantener y ampliar, y nos presentan la oportunidad de reutilizar componentes en futuras aplicaciones.
Solución Asignar una responsabilidad al experto en información: la clase que cuenta con la información necesaria para cumplir la responsabilidad. Beneficios El comportamiento se distribuye entre las clases que cuentan con la información requerida, lo que ayuda a definir “clases sencillas” y más cohesivas, que son mas fáciles de comprender y mantener. Se conserva el encapsulamiento, ya que los objetos se valen de su propia información para hacer lo que se les pide. Esto provee un bajo nivel acoplamiento, lo que favorece al hecho de tener sistemas mas robustos y fáciles de mantener.
Ejemplo ¿Quién es el responsable de conocer el gran total de la venta?.
Desde el punto de vista del patrón Experto, deberíamos buscar la clase de objetos que posee la información necesaria para calcular el total. Por ejemplo:
Hay que conocer todas las instancias VentaLineadeProducto de una venta, y la suma de sus subtotales, y esto lo conoce únicamente la instancia Venta. Por tanto, desde el punto de vista del Experto, Venta es la clase de objetos correcta para asumir esta responsabilidad. Venta es el experto de información. ¿Qué información hace falta para
calcular el gran total?. ¿Qué información hace falta para determinar el subtotal de la línea de productos?. Se necesitan VentasLineasProducto.cantidad y EspecificacióndeProductos.precio. VentasLineaProducto conoce su cantidad y su correspondiente EspecificaciondeProducto. Por tanto, desde la perspectiva patrón experto, VentasLineaProducto debería calcular el subtotal
En la aplicación del punto de venta, alguna clase necesita conocer el gran total de venta. VentasLineaProducto no puede cumplir la responsabilidad de conocer y dar el subtotal, si no conoce el precio del producto. EspecificaciondeProducto es un Experto de información para contestar su precio. Por tanto, habrá que enviarle un mensaje preguntándole el precio. para cumplir con la responsabilidad de conocer y dar el total de venta, se asignaron responsabilidades a tres clases de objetos: En conclusión Venta
VentasLineadeProducto
EspecificacióndeProducto Conocer Total de la Venta
Conoce subtotal de la línea de producto
Conoce el precio del producto El cumplimiento de una responsabilidad requiere a menudo información distribuida en varias clases de objetos. (“Expertos Parciales” que colaboran en la tarea).
Experto es un patrón que se usa más que cualquier otro al asignar responsabilidades; es un principio básico que suele utilizarse en el diseño orientado a objetos. Con él no se pretende designar una idea oscura ni extraña; expresa simplemente la "intuición" de que los objetos hacen cosas relacionadas con la información que poseen. En Resumen El cumplimiento de una responsabilidad requiere a menudo información distinta en varias clases de objetos. Esto significa que hay muchos expertos "parciales" que colaboran en la tarea.
Da origen al objeto que realiza las operaciones que normalmente se aplican a la cosa real que representa.
Ofrece una analogía con el mundo real. Acostumbramos a asignar responsabilidad a individuos que disponen de la información necesaria para llevar a cabo una tarea. Gracias
Full transcript