Duda ejercicio 2ºExamen (Libre)

Temarios, tests, ejercicios prácticos, enlaces, etc.
Cerrado
cristynight
Usuario registrado
Mensajes: 10
Registrado: 04 May 2009, 20:40
Agradecido: 0
Agradecimiento recibido: 0

Duda ejercicio 2ºExamen (Libre)

Mensaje por cristynight »

Hola a todos,

Estais tratando de resolver los examenes de años anteriores? Es que tratando de resolver el del 2007, no se que habría que poner en el ejercicio 16. Esta es la url:
http://www.inap.map.es/NR/rdonlyres/4F2 ... io2007.pdf

Pregunta que diseño sería más fácil de modificar y la verda es que no lo sé. Alguien me echa una mano??

ahh
Usuario registrado
Mensajes: 98
Registrado: 26 May 2006, 19:53
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda ejercicio 2ºExamen (Libre)

Mensaje por ahh »

Te cuento lo que puse yo ese año... también es cierto que suspendi por los pelos (pedi la nota) y me quede a poquitas decimas....

En ppio parece que es mas facil de modificar el diseño B, ya que refuerza el concepto de encapsulación.

El metodo autorizar de la clase cuenta, incluye toda la lógica necesaria para autorizar la retirada de saldo, en vez de tener que estar modificando la clase cajero y el metodo "sacar dinero" con cada cambio de criterio para la retirada de dinero.

El concepto de cuanta embargada se tiene que realizar en la clase cuenta y con el primer diseño, a parte de exporner información, necesiatamos llamar a dos accesors.

Resumiendo:
--> Diseño A:
Con cada cambio deberiamos modificar la clase cuenta (incluir atributo embargada y su accesor) y la clase Cajero (modificar la lógica de autorización para mirar si esta embargada)
-->Diseño B:
Solo necesitamos modificar la clase cuenta, para meter el atributo embargada y modificar su metodo autorizar. La clase cajero no se toca.



Nos se si me he explicado :)

cristynight
Usuario registrado
Mensajes: 10
Registrado: 04 May 2009, 20:40
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda ejercicio 2ºExamen (Libre)

Mensaje por cristynight »

Muchisisimas gracias por tu ayuda.
Lo que dices tiene sentido, es más lógico que todas estas comprobaciones se hagan en la clase cuenta y no en la clase cajero.
pero hay algo que me despista y es que pone que en el diseño B la clase cajeroB no captura la excepción que devuelve el método autorizar(importe) si no se autoriza la extracción.
¿Qué ocurre entonces si no se autoriza la extracción? Habría que modificar algo más para que esta excepción si se capture.
Por otro lado, habría que estar modificando la lógica del método autorizar cada vez que se añada una comprobación, por lo que este método no tiene una alta cohesión, no realiza una función mínima y concreta.
En el diseño A se podría llamar a otra función de forma que quedara embargada=isEmbargada() y la comprobación [saldo >= importe && !embargada] continuar() y en ese caso si serían métodos con alta cohesión y bajo acoplamiento ¿estas de acuerdo?

Este ejercicio me trae por la calle de la amargura... jejeje

Gracias de nuevo por tu ayuda,

Saludossssss.

ahh
Usuario registrado
Mensajes: 98
Registrado: 26 May 2006, 19:53
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda ejercicio 2ºExamen (Libre)

Mensaje por ahh »

Si ya decia que suspendi por algo :lol: ... tienes razón en lo de la execepión...

Lo de la excepción tiene pinta de ser una errata... ya que normalmente lo que se hace es capturar la execepción... que sentido tiene no hacerlo??? hacer un throws a una supuesta clase que no nos cuentan... y ahí realizar el tratamiento de la no retirada de saldo, por la no autorización... pues vale, tambien se puede hace así.

En el fondo eso no cambia el planteamiento. Te dicen que eso ya esta hecho. Con lo que para incluir la comprobación de embargo solo tienes que modificar la clase cuenta.

Respecto a la cohesión, creo que confundes el concepto.. las cohesiones son de muchos tipos, secuencial, funcional, de datos, etc... y tienen que ver con el concepto de encapsulación. La POO refuerza el concepto de cohesión por medio de la encapsulación.

La funcionalidad de autorizar (cohesion, encapsulación) queda toda ella en la clase cuenta. independiente de cual sea la lógica para conseguirla.

cristynight
Usuario registrado
Mensajes: 10
Registrado: 04 May 2009, 20:40
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda ejercicio 2ºExamen (Libre)

Mensaje por cristynight »

Me has convencido. Además lo que pregunta es cual es más fácil de modificar y en el Diseño B sólo tienes que modificar una clase y en el Diseño A las dos, gracias a la encapsulación como tu bien dices. Supongo que es motivo más que suficiente.

Muchas gracias otra vez, por fin puedo darlo por terminado!!!!

Saludosssss.

Cerrado

Volver a “MATERIAL PARA PREPARACION A2/C1 2009”